参考谷歌发布的新TextInputLayout,如何更改浮动标签文本颜色?
在样式中设置colorControlNormal, colorControlActivated, colorControlHighLight没有帮助。
这是我现在拥有的:
参考谷歌发布的新TextInputLayout,如何更改浮动标签文本颜色?
在样式中设置colorControlNormal, colorControlActivated, colorControlHighLight没有帮助。
这是我现在拥有的:
当前回答
找到答案,使用android.support.design:hintTextAppearance属性设置自己的浮动标签外观。
例子:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:hintTextAppearance="@style/TextAppearance.AppCompat">
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_password"/>
</android.support.design.widget.TextInputLayout>
其他回答
有太多复杂的解决方案。下面是一个改变浮动标签颜色的程序。
<com.google.android.material.textfield.TextInputLayout
app:hintTextColor="@color/white"/>
除了更改其他属性:
更改框描边颜色:
<com.google.android.material.textfield.TextInputLayout
app:boxStrokeColor="@color/green"
更改方框描边宽度:
<com.google.android.material.textfield.TextInputLayout
app:boxStrokeWidth="1.5dp"
更改编辑TextInputEditText提示颜色:
<com.google.android.material.textfield.TextInputEditText
android:textColorHint="@color/white"
更改TextInputEditText的颜色:
<com.google.android.material.textfield.TextInputEditText
android:textColor="@color/white" />
你不需要使用android:theme="@style/TextInputLayoutTheme"来改变浮动标签的颜色,因为它会影响到整个主题的小TextView用作标签。相反,你可以使用app:hintTextAppearance="@style/TextInputLayout。HintText”:
<style name="TextInputLayout.HintText">
<item name="android:textColor">?attr/colorPrimary</item>
<item name="android:textSize">@dimen/text_tiny_size</item>
...
</style>
让我知道解决方案是否有效:-)
这很简单,但由于多个视图在不同的配置/名称空间中具有相同的属性,开发人员会感到困惑。
在TextInputLayout的情况下,我们每次都有一个不同的视图和参数,要么与TextInputEditText或直接到TextInputLayout。
我使用了以上所有的修复: 但我发现我在吸毒
app:textColorHint="@color/textcolor_black"
其实我应该用
android:textColorHint="@color/textcolor_black"
作为TextinputLayout的属性
textcolor_black.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/black_txt" android:state_enabled="true" />
<item android:color="@color/black_txt" android:state_selected="true" />
<item android:color="@color/txtColorGray" android:state_selected="false" />
<item android:color="@color/txtColorGray" android:state_enabled="false" />
</selector>
现在,简单地使用colorAccent和colorPrimary就可以完美地工作了。
找到答案,使用android.support.design:hintTextAppearance属性设置自己的浮动标签外观。
例子:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:hintTextAppearance="@style/TextAppearance.AppCompat">
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_password"/>
</android.support.design.widget.TextInputLayout>