android - 更改 TextInputLayout 中浮动标签的颜色
android - Change color of floating label in TextInputLayout
我尝试使用TextInputLayout,我成功地按照这个改变了浮动标签的颜色,使用android:theme="@style/TextLabel"
使浮动标签颜色改变。但是,它仅适用于 Android 5.0 及更高版本。
对于Android的低版本,我使用app:hintTextAppearance="@style/TextAppearance.AppCompat"
。这是我的代码:
<style name="EditTextHint" parent="TextAppearance.AppCompat">
<item name="android:textColor">#bbbbc9</item>
<item name="android:textColorHint">#bbbbc9</item>
<item name="android:textSize">11.5sp</item>
</style>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/EditTextHint">
<EditText
android:id="@+id/fet_input_left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:paddingTop="7.5dp"
android:textColor="#595968"
android:textSize="14sp" />
</android.support.design.widget.TextInputLayout>
问题是浮动标签的颜色只有在用户在 EditText 上切换时才会变为 #bbbbc9
。如果其他 EditText 上的用户选项卡,颜色将更改为默认值。这是图片:
正确颜色:bbbbc9
错误颜色lt:默认颜色
如果您有任何建议,请告诉我。任何想法将不胜感激。
提前致谢!
你有开两个style.xml吗?一个是 style.xml 而另一个是 style-21.xml ?
在style-21.xml中,用于android-21 / android 5.0以上
原来的是较低的支持
完成 "on the fly" 后,我尝试在 TextInputLayout 中添加 android:textColorHint="#bbbbc9"
,它起作用了。这是完整的代码:
<style name="EditTextHint" parent="TextAppearance.AppCompat">
<item name="android:textColor">#bbbbc9</item>
<item name="android:textColorHint">#bbbbc9</item>
<item name="android:textSize">11.5sp</item>
</style>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColotHint="#bbbbc9"
app:hintTextAppearance="@style/EditTextHint">
<EditText
android:id="@+id/fet_input_left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:paddingTop="7.5dp"
android:textColor="#595968"
android:textSize="14sp" />
</android.support.design.widget.TextInputLayout>
这对我有用;
将自定义样式设为;
<style name="TextFloatLabelAppearance" parent="TextAppearance.Design.Hint">
<!-- Floating label appearance here -->
<item name="android:textColor">@color/colorLightGrey</item>
</style>
并使用 ;
<android.support.design.widget.TextInputLayout
android:id="@+id/store_til"
app:hintTextAppearance="@style/TextFloatLabelAppearance"
android:textColorHint="@color/colorWhite"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<AutoCompleteTextView
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/colorWhite"
android:hint="@string/your_string">
</AutoCompleteTextView>
这是我将浮动文本更改为自定义颜色所做的。
我尝试使用TextInputLayout,我成功地按照这个android:theme="@style/TextLabel"
使浮动标签颜色改变。但是,它仅适用于 Android 5.0 及更高版本。
对于Android的低版本,我使用app:hintTextAppearance="@style/TextAppearance.AppCompat"
。这是我的代码:
<style name="EditTextHint" parent="TextAppearance.AppCompat">
<item name="android:textColor">#bbbbc9</item>
<item name="android:textColorHint">#bbbbc9</item>
<item name="android:textSize">11.5sp</item>
</style>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/EditTextHint">
<EditText
android:id="@+id/fet_input_left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:paddingTop="7.5dp"
android:textColor="#595968"
android:textSize="14sp" />
</android.support.design.widget.TextInputLayout>
问题是浮动标签的颜色只有在用户在 EditText 上切换时才会变为 #bbbbc9
。如果其他 EditText 上的用户选项卡,颜色将更改为默认值。这是图片:
正确颜色:bbbbc9
错误颜色lt:默认颜色
如果您有任何建议,请告诉我。任何想法将不胜感激。
提前致谢!
你有开两个style.xml吗?一个是 style.xml 而另一个是 style-21.xml ? 在style-21.xml中,用于android-21 / android 5.0以上 原来的是较低的支持
完成 "on the fly" 后,我尝试在 TextInputLayout 中添加 android:textColorHint="#bbbbc9"
,它起作用了。这是完整的代码:
<style name="EditTextHint" parent="TextAppearance.AppCompat">
<item name="android:textColor">#bbbbc9</item>
<item name="android:textColorHint">#bbbbc9</item>
<item name="android:textSize">11.5sp</item>
</style>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColotHint="#bbbbc9"
app:hintTextAppearance="@style/EditTextHint">
<EditText
android:id="@+id/fet_input_left"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:paddingTop="7.5dp"
android:textColor="#595968"
android:textSize="14sp" />
</android.support.design.widget.TextInputLayout>
这对我有用; 将自定义样式设为;
<style name="TextFloatLabelAppearance" parent="TextAppearance.Design.Hint">
<!-- Floating label appearance here -->
<item name="android:textColor">@color/colorLightGrey</item>
</style>
并使用 ;
<android.support.design.widget.TextInputLayout
android:id="@+id/store_til"
app:hintTextAppearance="@style/TextFloatLabelAppearance"
android:textColorHint="@color/colorWhite"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<AutoCompleteTextView
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/colorWhite"
android:hint="@string/your_string">
</AutoCompleteTextView>
这是我将浮动文本更改为自定义颜色所做的。