adnroid selector 组件的状态显示该状态对应的背景图片

selector相当于图片选择器,在res下新建个drawable文件夹,把组件的背景设成对应你建的xml文件名

下面是我做的一个简单的例子

项目结构图见附件

 

btn.xml代码:

Xml代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  3. <!--没有焦点时的图片背景 -->
  4. <item android:state_window_focused="false" android:drawable="@drawable/a" />
  5. <!-- 非触摸模式下获得焦点并单击时的背景图片 -->
  6. <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/b" />
  7. <!-- 触摸模式下单击时的背景图片 -->
  8. <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/c" />
  9. <!-- 选中时的图片背景 -->
  10. <item android:state_selected="true" android:drawable="@drawable/d" />
  11. <!-- 获得焦点时的图片背景 -->
  12. <item android:state_focused="true" android:drawable="@drawable/e" />
  13. </selector>
Xml代码 复制代码 收藏代码
  1. main.xml代码:
Xml代码 复制代码 收藏代码
  1. <pre class="xml" name="code"><?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextView
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:text="@string/hello"
  11. />
  12. <Button
  13. android:id="@+id/button"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:background="@drawable/btn"
  17. ></Button>
  18. <Button
  19. android:id="@+id/button2"
  20. android:layout_width="wrap_content"
  21. android:layout_height="wrap_content"
  22. android:background="@drawable/btn"
  23. ></Button>
  24. </LinearLayout>
  25. </pre>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要设置Android图片的选中状态,可以使用`selector`来实现。`selector`是一种XML文件,可根据不同的状态选择不同的Drawable资源。以下是一个简单的示例代码: 1. 创建一个名为`selector_image.xml`的XML文件,并在`drawable`目录中存储它。 ```xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 被选中状态 --> <item android:drawable="@drawable/image_selected" android:state_selected="true" /> <!-- 正常状态 --> <item android:drawable="@drawable/image_normal" /> </selector> ``` 在这个示例中,我们定义了两个状态:`state_selected`和默认状态,分别对应选中和未选中状态。我们可以在`item`标签中使用`android:drawable`属性来指定不同状态显示的Drawable资源。在这个示例中,当图片被选中显示`image_selected`资源,否则显示`image_normal`资源。 2. 在布局文件中使用`ImageView`控件,并为其设置`src`属性为`selector_image`。 ```xml <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/selector_image" /> ``` 在这个示例中,我们将`selector_image`资源设置为`ImageView`的`src`属性,这样我们就可以看到不同状态显示的图片了。 现在当`ImageView`被选中,会显示`image_selected`资源,否则显示`image_normal`资源。你可以根据需要修改`selector`的XML文件,以满足不同的设计要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值