我已将我的项目迁移到androidX并使用带有材质设计组件的新材质主题。我可以为TextInputLayout使用新的Outlined样式,当前它以白色显示标题。我尝试将样式设置为TextInputLayout
。
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
但是它以白色显示标题。
之后,我在styles.xml
中创建了单独的样式
<style name="TextLabel" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="boxStrokeColor">@color/colorAccent</item>
<item name="android:textColorHint">@color/colorAccent</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorHint">@color/colorAccent</item>
<item name="android:textColor">@color/white</item>
<item name="colorControlNormal">@color/colorAccent</item>
<item name="colorControlActivated">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorAccent</item>
</style>
我将这种样式用于xml,如下所示。
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/pad_small"
android:hint="Search Store"
style="@style/TextLabel">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableRight="@drawable/ic_search"/>
</com.google.android.material.textfield.TextInputLayout>
我正在使用的渐变导入是
implementation 'com.google.android.material:material:1.1.0-alpha01'
布局如下图所示,我缺少什么?如何更改TextInputLayout
标题的颜色?目前,我设置了深色背景,因此文本是可见的,但是我想使用白色背景,并且当我这样做时,标题会与背景混合在一起并且不可见。
答案 0 :(得分:0)
尝试使用hintColor吗?在布局上?在正常情况下,这种方法不适用于材料设计 我的意思是用这种方式
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/pad_small"
android:hintColor="#0000"
android:hint="Search Store"
style="@style/TextLabel">
答案 1 :(得分:0)
尝试使用
android:textColorHighlight="@color/when_focused"
android:textColorHint="@color/not_focused"
像这样更改您的styles.xml
<style name="TextLabel"parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="boxStrokeColor">@color/colorAccent</item>
<item name="android:textColorHint">@color/colorAccent</item>
<item name="android:textColor">@color/white</item>
<item name="android:textColorHighlight="@color/when_focused"</item>
</style>
如果这不起作用,请尝试直接在XML中使用这两个
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/pad_small"
android:textColorHighlight="@color/when_focused"
android:textColorHint="@color/not_focused"
android:hint="Search Store"
style="@style/TextLabel">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/et_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableRight="@drawable/ic_search"/>
</com.google.android.material.textfield.TextInputLayout>