繁体   English   中英

Android EditText Style.xml更改FOCUS EditText

[英]Android EditText Style.xml change FOCUS EditText

下午好,

伙计我为所有领域做了一个样式文件style.xml EditText现在当该领域获得焦点时,我想改变风格。 怎么办?

您必须为编辑文本的每个状态定义drawable。 您在drawables文件夹中创建一个xml文件,该文件定义编辑文本的所有状态drawable。 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的drawable,你只需:

<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>

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM