我的问题是我不知道如何更改EditText的下划线颜色 - 我有LG Nexus 5( Android 6 )。
我想将正常的下划线颜色更改为白色。我使用了所有 params 之类的(样式):
e.g。
<style name="FormFont" parent="@android:style/TextAppearance.Medium">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">@dimen/form_text_size</item>
<item name="colorControlNormal">#c5c5c5</item>
</style>
但似乎没有任何作用(它只会在EditText聚焦时改变颜色,如上图所示)。
答案 0 :(得分:1)
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/accent</item>
<item name="colorControlHighlight">@color/accent</item>
</style>
答案 1 :(得分:1)
最有效的方法是在AppTheme样式中添加colorAccent属性,如下所示:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorAccent">@color/colorAccent</item>
<item name="android:editTextStyle">@style/EditTextStyle</item>
</style>
<style name="EditTextStyle" parent="Widget.AppCompat.EditText"/>
colorAccent属性用于整个应用程序中的窗口小部件着色,因此应该用于一致性
答案 2 :(得分:0)
要使其在 Android 6 中运行,请在中创建自定义主题
res/values-v21/styles.xml
。
<style name="FormFont" parent="@android:style/TextAppearance.Medium">
<item name="colorControlNormal">#c5c5c5</item>
</style>
<style name="FormFontWhite" parent="@android:style/TextAppearance.Medium">
<item name="colorControlNormal">#ffffff</item>
</style>
然后在EditText
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/FormFont"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/FormFontWhite"/>
有关详细信息,请查看@reVerse answer。
希望这有帮助!
答案 3 :(得分:0)
尝试使用android:backgroundTint="#yourUnderlineColor"
。
仅适用于API 21及更高版本。
答案 4 :(得分:0)
<android.support.v7.widget.AppCompatEditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/cux_label_password"
android:inputType="textPassword"
app:theme="@style/editTextStyle" />
<style name="editTextStyle" parent="TextAppearance.AppCompat">
<item name="colorControlNormal">#FFFFFF</item>
<item name="colorControlActivated">#FFFFFF</item>
<item name="colorControlHighlight">#FFFFFF</item>
</style>