下午好,
伙计们,我为所有字段 style.xml EditText 做了一个样式文件,现在当字段获得焦点时,我想更改样式。怎么做?
下午好,
伙计们,我为所有字段 style.xml EditText 做了一个样式文件,现在当字段获得焦点时,我想更改样式。怎么做?
您必须为编辑文本的每个状态定义可绘制对象。您在 drawables 文件夹中创建一个 xml 文件,该文件定义了编辑文本的所有状态可绘制对象。XML 文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@[package:]drawable/drawable_resource"
android:state_pressed=["true" | "false"]
android:state_focused=["true" | "false"]
android:state_hovered=["true" | "false"]
android:state_selected=["true" | "false"]
android:state_checkable=["true" | "false"]
android:state_checked=["true" | "false"]
android:state_enabled=["true" | "false"]
android:state_activated=["true" | "false"]
android:state_window_focused=["true" | "false"] />
</selector>
您为要指定的每个可绘制状态制作一个项目。因此,对于 state_focused 的可绘制对象,您只需执行以下操作:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/myFocusedEditText"
android:state_focused="true"/>
<item
android:drawable="@drawable/myEnabledEditText"
android:state_enabled="true"/>
</selector>
将此 XML 文件命名为 custom_edit_text.xml,确保它位于 drawables 文件夹中。然后你所要做的就是在你的styles.xml中定义
<style name="my_edit_text">
<item name="android:drawable">@drawable/custom_edit_text</item>
</style>
祝你好运!