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 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>
<?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,Intent概要(十一) .
2012-08-11 14:01 805下面内容我觉得归纳的很好,我看了几本书,包括一些英文的,写 ... -
初学Android,字符串,数字,尺寸,数组资源(十二) .
2012-08-11 00:09 1366下面是使用字符串,数字,尺寸,数组资源的例子,挺好,一个例子已 ... -
初学Android,使用Drawable资源之使用LayerDrawable资源(十四)
2012-08-03 10:27 780LayerDrawable,系统将会按这些Drawable对象 ... -
初学Android,使用Drawable资源之使用ShapeDrawable资源(十五)
2012-08-03 14:40 1117ShapeDrawable比较简单,用来定义一个基本几何图形, ... -
初学Android,使用Drawable资源之使用ClipDrawable资源(十六)
2012-08-03 16:23 1085ClipDrawable代表从其它位图上截取一个"图 ... -
初学Android,使用Drawable资源之使用AnimationDrawable资源(十七)
2012-08-06 11:34 939这次学学怎么使用动画资源,AnimationDrawable, ... -
初学Android,使用自定义的XML资源(十八)
2012-08-06 15:16 691使用自定义的XML资源,这当然也必须是Android的一个功能 ... -
初学Android,使用菜单资源(十九)
2012-08-07 17:16 711Android里面也可用XML定义菜单资源,菜单分两种,一种是 ... -
初学Android,使用样式(style)资源(二十)
2012-08-09 09:57 776在Android里面,样式的概念跟网页中CSS样式表的概念相似 ... -
初学Android,使用主题(Theme)资源(二十一)
2012-08-09 11:06 754主题跟样式类似,也是放在路径/res/values下同样以&l ... -
初学Android,使用属性(Attribute)资源(二十二)
2012-08-09 14:47 788感觉这篇写的不错,拿来转了 http://wujia ... -
初学Android,使用原始资源(二十三)
2012-08-09 17:09 803原始资源就是Android没有为之提供专门支持的资源文件,可以 ... -
ImageAdapter和PopupWindow的使用
2012-08-09 17:35 1156引用public class SamplePopup exte ... -
requestWindowFeature类
2012-08-09 17:21 748requestWindowFeature可以设 ... -
android学习笔记(二)
2012-08-08 12:00 717Activities and Tasks 一个活动能启动另一 ... -
Android之SurfaceView学习(一)
2012-08-07 16:57 637首先我们先来看下官方API对SurfaceView的介绍 S ... -
adnroid 学习笔记(一)
2012-08-06 16:10 627今天开始学习android,在配置资源文件时遇到的问题,在这里 ...
相关推荐
Android所有系统资源图标android.R.drawable.xxx查看软件 源码地址:http://blog.csdn.net/dianyueneo/article/details/7197067
3. **使用第三方工具**:有些第三方工具,如Android Asset Studio或APK反编译工具,可以帮助开发者直观地浏览和搜索`android.R.drawable`中的资源。 了解`android.R.drawable`中的图片资源对于优化应用的UI设计和...
Android系统图标android.R.drawable下的所有图标查看软件
在Android SDK中,开发者通常不需要直接操作Drawable的底层实现类,而是通过XML文件来定义和使用Drawable资源,通过资源ID来引用它们。 Android内置了多种类型的Drawable资源,主要包括以下几类: 1. Color...
本资源包“android安卓APP之13种Drawable位图片资源.zip”涵盖了Android开发中常见的13种Drawable类型,这些类型极大地丰富了Android应用的视觉表现和动态效果。下面将详细介绍每种Drawable的特性和用法。 1. **...
4. **安全性**:在实际项目中,如果需要频繁加载不同图片资源,考虑使用更高效的加载方式,例如使用`Glide`、`Picasso`等第三方库进行图片加载管理。 5. **兼容性**:在使用反射操作时需要注意Android版本间的兼容...
在Android开发中,`drawable.xml` 文件是用于定义UI元素的重要资源之一,它可以为应用提供灵活多变的视觉效果。例如,按钮、列表项等控件的状态变化时所显示的不同图像或颜色。下面我们将通过一个具体的示例来详细...
在Android开发中,drawable资源是不可或缺的一部分,它主要用于定义图形、形状、背景等视觉元素,还可以用来改变控件的外观。本篇文章将深入探讨如何利用drawable资源来改变Android应用中的控件外观。 首先,...
这个示例项目"android drawable"旨在展示如何在Android应用中有效地使用和显示`Drawable`资源。 `Drawable`在Android中扮演着多种角色,包括但不限于图片、背景、按钮状态、选择器等。它们可以通过XML或Java代码...
这里的`R.drawable.pic`是指向资源文件夹中的图像资源的引用。`decodeResource`方法会根据指定的资源ID来解码并返回一个`Bitmap`对象。 #### 3. Bitmap转byte[] 在将`Bitmap`数据在网络上传输或存储到文件中时,...
【玩转Android之Drawable的使用】 Drawable在Android开发中扮演着至关重要的角色,它是图形和图像的基础元素,广泛用于UI设计和自定义视图。在Android中,Drawable不仅仅局限于简单的图片,还包括各种复杂的图形和...
importandroid.graphics.drawable.StateListDrawable; importandroid.os.Bundle; importandroid.view.View; importandroid.widget.Button; public class TestButton extends Activity { @Override public ...
在Android开发中,Drawable是图形和图像处理的重要组成部分,它是一种可以绘制到Canvas上的对象,广泛用于界面元素的装饰和状态表示。以下是对Android中drawable集合的详细解释: 1. **Bitmap Drawable**: Bitmap ...
创建自定义Drawable的Java代码通常会扩展`Drawable`类或它的子类,如`StateListDrawable`、`LevelListDrawable`等。然后,重写必要的方法,如`draw()`、`onBoundsChange()`和`getIntrinsicWidth()`等。同时,为了与...
1. 使用 `Drawable.createFromStream()` 方法 该方法可以将Url资源转换为Drawable资源。我们可以使用以下代码实现: ```java private Drawable loadImageFromNetwork(String imageUrl) { Drawable drawable = ...
android修改控件外观(使用drawable资源.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
在Android开发中,Drawable是图形资源的核心组成部分,用于表示各种屏幕元素的外观,如按钮、背景、图标的形状和颜色。这些图形资源可以通过XML文件进行定义,提供了丰富的自定义选项。本篇将深入探讨Android ...
LevelListDrawable levelListDrawable = (LevelListDrawable) getResources().getDrawable(R.drawable.my_level_list); levelListDrawable.setLevel(1); // 切换到第二个Shape ``` 此外,我们还可以通过...
在Android开发中,Drawable是图形资源的核心组成部分,用于在用户界面上绘制各种图像,如按钮、背景、图标等。理解并熟练运用Drawable的各种高效用法对于优化应用性能和提升用户体验至关重要。以下是一些关于Android...
在使用`drawable`资源时,需要注意的一点是,默认情况下`drawable`资源在应用内部是共享的。这意味着如果多个组件引用同一个`drawable`资源,那么对其中一个组件中的该资源进行修改,会影响到其他所有引用此资源的...