做应用时,可能会需要动态改变控件的背景图片,如果仅仅是简单的点击,选中之类的事件,如果靠程序中写监听的代码就显得太麻烦了,在这种情况下,你可以使用selector动态改变控件背景拉:)

1。在res/drawable目录下建一个mybutton.xml文件,根据需要,不同的状态下建立不同的item,并对应相应的图片

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_window_focused="false"
android:drawable="@color/transparent" />

<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. 注意这句话-->


<item android:state_focused="true" android:state_enabled="false"
android:state_pressed="true"
android:drawable="@drawable/selector_background_disabled" />
<item android:state_focused="true" android:state_enabled="false"
android:drawable="@drawable/lselector_background_disabled" />

<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/selector_background_transition" />
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/selector_background_transition" />

<item android:state_focused="true"
android:drawable="@drawable/selector_background_focus" />

</selector>

2。在构造layout是引用这个xml

<ImageButton
android:id="@+id/ImageButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/mybutton">
</ImageButton>

更多相关文章

  1. Android(安卓)ListView 获取网络上的数据,动态地进行数据更新!
  2. 切换tab的时候recyclerview滑动到最底部
  3. Android(安卓)BaseAdapter与ListView的使用
  4. Android中广告条轮播(Banner)的实现
  5. Android(安卓)TouchDelegate 扩大点击区域
  6. 5. android 列表视图
  7. android控件之EditText
  8. Android(安卓)软键盘弹出时把布局顶上去,控件乱套解决方法
  9. android 自定义控件基础之三种约束类型

随机推荐

  1. 三,android编码规范 & 常用布局 & 常用控
  2. Android(安卓)OpenGL ES学习
  3. ARCVM:Chrome OS 中运行 Android(安卓)应
  4. Android项目优化宝典
  5. Android(安卓)应用的自动升级、更新模块
  6. android集成语音功能
  7. 通过Android(安卓)Studio查看SDK源码
  8. 转帖并消化:Android中一种使用AttributeS
  9. Android(安卓)Push Notification技术实现
  10. AlterDialog详细讲解