我发现EditText
使用默认颜色Accent
作为指针,所以我该如何更改它的颜色?
在我的EditText
上,如果我插入android:theme= @style/mytheme
,它会起作用,但当我使用style = "@style/mytheme"
时,它将无效。
问题在于,当我使用android:theme= @style/mytheme
EditText
提示消失时。
如何使用自定义样式更改颜色?
这是我的代码:
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:hint="@string/cap"
android:background="@drawable/input_shape"
android:drawableStart="@drawable/search"
android:drawableLeft="@drawable/search"
android:inputType="number"
android:id="@+id/capInput"
style="@style/MyEditText"/>
和自定义样式:
<style name="MyEditText" parent="@android:style/Widget.EditText">
<item name="colorAccent">@color/notification_material_background_media_default_color</item>
</style>
提前致谢!
答案 0 :(得分:4)
EditText(复制粘贴)Bouble使用您应用主题的colorAccent作为其颜色,您可以在appTheme上更改colorAccent,或者您可以创建新样式并将其设置为EditText主题
<style name="CustomEditText" >
<item name="colorAccent">@color/your_favourite_color</item>
</style>
并将其设置为EditText:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Your Hint"
android:theme="@style/CustomEditText"
/>
如果您想使用appTheme的其他属性,您可以将其设置为父样式,只需更改其colorAccent
<style name="CustomEditText" parent="AppTheme">
<item name="colorAccent">@color/your_favourite_color</item>
</style>
答案 1 :(得分:0)
而不是style
属性EditText
,请尝试更改为Android主题属性,如下所示:
android:theme="@style/MyEditText"