EditText在提供的照片中使用颜色Accent作为此指针

时间:2017-03-21 08:57:59

标签: android android-edittext android-theme android-styles

我发现EditText使用默认颜色Accent作为指针,所以我该如何更改它的颜色?

enter image description here

在我的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>

提前致谢!

2 个答案:

答案 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"