the*_*del 23 android android-layout android-textinputlayout android-textinputedittext
我有TextInputLayout并且TextInputEditText喜欢这个
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/loginUsernameText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/text_input_margin_left_right"
android:layout_marginRight="@dimen/text_input_margin_left_right"
android:layout_marginTop="@dimen/text_input_margin_top_bottom"
android:hint="@string/username"
android:layout_below="@id/loginButtonLogin">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/loginUsername"
android:layout_width="match_parent"
android:padding="5dp"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/loginPasswordText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/text_input_margin_left_right"
android:layout_marginRight="@dimen/text_input_margin_left_right"
android:layout_marginTop="@dimen/text_input_margin_top_bottom"
android:hint="@string/password"
android:layout_below="@id/loginUsernameText">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/loginPassword"
android:layout_width="match_parent"
android:padding="5dp"
android:layout_height="wrap_content"
android:inputType="textPassword"/>
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的styles.xml 文件
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">14sp</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
所以我没有在 TextInputLayout 上使用任何额外的东西,它们看起来像这样

这种灰色背景一直存在。如何删除此背景并获得默认的 TextInputLayout。谢谢。
小智 53
https://github.com/material-components/material-components-android/issues/102
这似乎是一个重要的文本字段错误。
您可以使用此代码临时更改背景白色。
<com.google.android.material.textfield.TextInputLayout
app:boxBackgroundColor="@android:color/transparent"
android:background="@android:color/transparent">
<com.google.android.material.textfield.TextInputEditText/>
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
And*_*rew 32
去除背景颜色的一种方法是调整 TextInputLayout 的背景模式。
应用程序:boxBackgroundMode =“无”
为我工作。
XML 代码示例:
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:boxBackgroundMode="none"
app:errorEnabled="true"
app:hintEnabled="false"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:hint="@string/comment_placeholder"
android:inputType="textCapSentences|textMultiLine"
android:maxLength="500" />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
小智 15
方法A
(完全透明背景)
<com.google.android.material.textfield.TextInputLayout
app:boxBackgroundMode="filled"
app:boxBackgroundColor="@null"
..>
<com.google.android.material.textfield.TextInputEditText
android:backgroundTint="@android:color/transparent"
..>
Run Code Online (Sandbox Code Playgroud)
方法B
(纯色背景)
<com.google.android.material.textfield.TextInputLayout
app:boxBackgroundMode="filled"
app:boxBackgroundColor="?android:attr/colorBackground"
..>
Run Code Online (Sandbox Code Playgroud)
*对于我的情况,我需要它完全透明,因为屏幕背景不是纯色。如果您是这种情况,请使用方法 A
小智 5
对我来说,它与 一起工作app:boxBackgroundColor="@null",就像这样:
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:boxBackgroundColor="@null"
android:hint="@string/description">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine|textCapSentences" />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
在我的情况下需要更改 TextInputLayout 和 TextInputEditText 中的背景
<com.google.android.material.textfield.TextInputLayout
app:boxBackgroundColor="@color/transparent"
android:background="@color/transparent"
>
<com.google.android.material.textfield.TextInputEditText
android:background="@color/transparent"
/>
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)