`
chenqiang5206
  • 浏览: 33292 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类

初学Android,使用Drawable资源之使用StateListDrawable资源(十三)

 
阅读更多

StateListDrawable用于组织多个Drawable对象,顾名思义,StateList,它会随着目标组件状态(比如得到/失去焦点,勾选/未勾选,可用/不可用,按下/未按下,等等)的改变而自动切换

StateListDrawable对象的XML文件的根元素是<selector.../>,可包含多个<item.../>元素

下面是一个高亮显示正在输入的文本框的例子

创建一个普通Android xml文件,根元素选择selector,文件名为my_image,创建完以后把文件移动到res/drawable-mdpi文件夹下

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused = "true"
          android:color = "#f44" 
    />
    <item android:state_focused = "false"
          android:color = "#111" 
    />
</selector>
下面的主界面xml中引用上面定义的样式

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="@drawable/my_image"
        android:ems="10"  />


    <EditText
        android:id="@+id/editText2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="@drawable/my_image"
        android:ems="10" />

</LinearLayout>

效果如下,当焦点在文本框时,文字变为高亮显示




分享到:
评论

相关推荐

    Android应用源码之(ImageButton图片按钮)-IT计算机-毕业设计.zip

    为了在不同状态下显示不同的图像,我们可以使用`StateListDrawable`,在`res/drawable`目录下创建XML文件来定义状态选择器。例如,定义一个包含正常和按下状态的图像: ```xml &lt;selector xmlns:android=...

    Android UI基础教程pdf

    7. **可绘制资源**:Android的Drawable类用于表示图形资源,如位图(BitmapDrawable)、形状(Shape Drawable)和状态选择器(StateListDrawable)。状态选择器可以根据组件的状态(如按下、选中等)显示不同的图像...

    Android延时启动效果+轮播图+点击进入+沉浸式状态栏+按钮点击颜色渐变效果+好看的UI框架

    这可以通过自定义`StateListDrawable`或使用`Shape Drawable`配合`selector`来实现,也可以借助第三方库如`android-transition`简化操作。 5. **UI框架**:选择一个好的UI框架能显著提高开发效率并保证界面的美观性...

    应用源码之SelecterSample.zip

    在Android中,选择器通常指的是Drawable对象中的StateListDrawable,它可以根据组件的状态(如按下、聚焦、默认等)显示不同的图像。在SelecterSample项目中,开发者可能通过创建自定义选择器来实现界面元素的交互...

    自定义控件书籍

    - **StateListDrawable**: 一种特殊的 Drawable,可以根据控件的状态(如激活状态、选中状态)改变其外观。 **2.4 创建动态控件** 在某些场景下,可能需要根据运行时的数据动态创建控件。这涉及到使用 ...

    EditTextClearDemo

    总的来说,“EditTextClearDemo”这个项目是关于如何在Android应用中实现一个带有清除功能的`EditText`组件的实例,它涵盖了`EditText`的基本使用、添加图标的技巧以及响应用户交互的方法,对于初学者来说是一个很好...

    自定义图像按钮的样式效果

    可以使用StateListDrawable或自定义颜色变化来实现这一效果。 ```xml &lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt; &lt;item android:state_pressed="true" android:drawable="@drawable/...

Global site tag (gtag.js) - Google Analytics