我正在使用新的Google设计库(com.android.support:design:22.2.0),我遇到了 android.support.design.widget.TextInputLayout 的问题。
如果我以编程方式设置其EditText,浮动提示颜色为灰色而不是强调色。如果用户填写字段(EditText)本身或者他更改了字段的预定义值,它就可以工作。
这是我的代码:
<android.support.design.widget.TextInputLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<EditText
android:id="@+id/register_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/register_username"
android:inputType="text"/>
</android.support.design.widget.TextInputLayout>
用户点击某个按钮后,它会通过EditText的setText()方法填充字段,浮动提示变为灰色。是错误还是我错过了什么?
答案 0 :(得分:23)
将android:textColorHint="@color/your_color"
放入TextInputLayout
答案 1 :(得分:6)
使用android.support.v7.widget.AppCompatEditText而不是EditText,您的问题应该得到解决。另外,请确保您的gradle设置如下:
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.android.support:design:22.2.0'
答案 2 :(得分:4)
请参阅here
特别是android.support.design:hintTextAppearance="@style/TextAppearance.AppCompat">
答案 3 :(得分:1)
以下代码对我有用:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp">
<EditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/white_box"
android:hint="@string/prompt_email"
android:inputType="textEmailAddress"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/text_color"
android:textColorHighlight="@color/text_color"
android:textColorHint="@color/text_color"
android:drawableRight="@drawable/ic_action_email"/>
</android.support.design.widget.TextInputLayout>
当edittext没有聚焦时, textColorHint
提示颜色
android:textColorHighlight
以浮动模式提示颜色