如何在Android中更改EditText的焦点颜色

2023-11-24

如何更改焦点颜色(橙色)EditText box?

焦点颜色是整个控件周围的小边框,并且是明亮的 当控件获得焦点时为橙色。我怎样才能改变它的颜色 聚焦到不同的颜色?


您必须创建/修改自己的 NinePatch 图像来替换默认图像,并将其用作 EditText 的背景。如果您查看平台下的 SDK 文件夹,然后查看 res/drawable,您应该会找到 EditText 焦点状态的 NinePatch 图像。如果这就是您想要更改的全部内容,您只需将其拖入 Photoshop 或您拥有的任何图像编辑软件中,然后将橙色更改为您选择的颜色即可。然后将其保存到您的可绘制文件夹中,并构建一个新的 StateListDrawable,例如如下所示:

edittext_modified_states.xml

<?xml version="1.0" encoding="utf-8"?>
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item 
        android:state_pressed="true"
        android:drawable="@android:drawable/edittext_pressed" 
        /> <!-- pressed -->    
    <item 
        android:state_focused="true"
        android:drawable="@drawable/edittext_focused_blue" 
        /> <!-- focused -->    
    <item 
        android:drawable="@android:drawable/edittext_normal" 
        /> <!-- default -->
</selector>

我不知道 EditText 默认 NinePatches 的实际名称,因此根据需要替换它们,但这里的关键是只使用@android:drawable未修改的图像(或者您可以将它们复制到项目的可绘制文件夹中),然后将修改后的可绘制用于焦点状态。

然后,您可以将此 StateListDrawable 设置为 TextView 的背景,如下所示:

<TextView
    android:background="@drawable/edittext_modified_states"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Android中更改EditText的焦点颜色 的相关文章

随机推荐