StateListDrawable用于组织多个Drawable对象。当使用StateListDrawable作为目标组件的背景/前景图片时,StateListDrawable对象所显示的Drawable对象会随目标组件状态的改变而自动切换。
定义StateListDrawable对象的XML文件的根元素为<selector../>,该元素可以包含多个<item.../>元素,该元素可指定如下属性。
- android:color或android:drawable:指定颜色或Drawable对象。
- android:state_xxx:指定一个特定状态。
所支持的状态:
例子:
布局文件main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!-- 使用StateListDrawable资源 -->
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@drawable/my_image"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@drawable/my_image"
/>
</LinearLayout>
<?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>
- 大小: 16.1 KB
- 大小: 6.7 KB
分享到:
相关推荐
5. **与View绑定**:StateListDrawable通常与Button、TextView等View的背景属性结合使用,通过设置`android:background`属性来引用StateListDrawable资源。 6. **动态改变状态**:在代码中,可以通过调用View的`...
StateListDrawable资源; LayerDrawable资源; ShapeDrawable资源; ClipDrawable资源; AnimationDrawable资源; 6.5、使用原始XML资源: 6.6、使用Layout资源: 6.7、使用菜单(Menu)资源: 6.8、样式(Style)和...
如果需要在代码中动态设置按钮的点击效果,可以使用`setBackgroundResource()`或`setBackgroundDrawable()`方法,传入我们自定义的StateListDrawable资源。 7. **优化性能**: 尽管自定义Drawable可以提供丰富的...
StateListDrawable资源; LayerDrawable资源; ShapeDrawable资源; ClipDrawable资源; AnimationDrawable资源; 6.5、使用原始XML资源: 6.6、使用Layout资源: 6.7、使用菜单(Menu)资源: 6.8、样式(Style)和...
这个资源可能包含一个XML文件,展示了如何在项目中实际应用`StateListDrawable`。解压后,你可能会看到一个`res/drawable`目录,里面有一个XML文件,如`button_background.xml`,这就是我们的`StateListDrawable`...
6.4.2 StateListDrawable资源 225 6.4.3 LayerDrawable资源 227 6.4.4 ShapeDrawable资源 229 6.4.5 ClipDrawable资源 231 6.4.6 AnimationDrawable资源 233 6.5 使用原始XML资源 236 6.5.1 定义原始...
1. **使用StateListDrawable**:创建一个StateListDrawable资源文件,定义不同状态下的背景图片,包括选中和未选中状态。在适配器中,根据item是否被选中来设置其背景。 2. **实现ChoiceMode**:ListView有一个...
本文详细介绍了Android开发中颜色、尺寸、Drawable、StateListDrawable以及样式资源的定义与访问方法。通过这些资源的有效管理,可以显著提高应用程序的性能和用户体验。开发者应当充分利用这些资源,实现应用界面的...
**Drawable**资源是指可以在视图(View)上绘制的对象,主要包括颜色(Color)、位图(Bitmap)、Nine-Patch图像以及状态列表(StateListDrawable)。 ##### Color - **定义**:颜色在XML中可以通过两种方式定义:`...
在Android开发中,State List Drawable(状态列表绘制对象)是一种非常重要的资源类型,它允许我们根据组件的状态(如被按下、被聚焦、被选中等)来改变其显示的图像。这个实例“Android State List Drawable状态...
本资源包“android安卓APP之13种Drawable位图片资源.zip”涵盖了Android开发中常见的13种Drawable类型,这些类型极大地丰富了Android应用的视觉表现和动态效果。下面将详细介绍每种Drawable的特性和用法。 1. **...
StateListDrawable是Android SDK中的一个关键图形资源类型,它允许开发者根据组件的状态(如按下、聚焦、默认等)显示不同的图像。在Android应用开发中,StateListDrawable常用于按钮、背景和其他视图元素,以实现...
2. **Drawable资源**:学习如何创建和引用XML或PNG资源作为Drawable对象,并理解它们在StateListDrawable中的工作原理。 3. **顺序和匹配**:理解StateListDrawable匹配状态的顺序,通常最具体的匹配优先,如果找不...
在Android开发中,Drawable资源是用于管理应用中各种图形元素,如图片、颜色、形状等的关键组成部分。了解和熟练掌握Drawable资源的管理与图片处理,对于优化应用性能和提升用户体验至关重要。以下是一些关于...
StateListDrawable 是一种特殊的 drawable 资源,它可以根据不同的状态来显示不同的drawable。StateListDrawable 通常用来定义控件的背景、边框等,如按钮的 Enabled 状态、Disabled 状态,EditText 的获取焦点状态...
此外,还可以利用`StateListDrawable`或`selector`资源,它们可以根据视图的状态(如按下、聚焦等)动态地改变颜色或图片。 此外,标签中的“小程序”可能指的是在Android上运行的小型应用程序,类似于微信小程序,...
1. 创建一个StateListDrawable对象:`StateListDrawable states = new StateListDrawable();` 2. 定义不同状态的Drawable:例如,我们可以为默认状态和按下状态设置不同的图片。 - 对于默认状态(未被点击):`...