android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现

首先看到selector的属性:
android:state_focusedandroid:state_pressedandroid:state_selectedandroid:state_enabled
它们之间的执行是 有执行顺序的写xml的时候特别要分析好执行顺序,否则达不到要实现的效果:
现在实现效果如下:

当点击停止按钮时,


有点击效果,和选中效果。 具体代码如下: 暂停:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">


<item android:drawable="@drawable/icon_pause_active" android:state_pressed="true"/>
<item android:drawable="@drawable/icon_pause_active" android:state_selected="true"/>
<item android:drawable="@drawable/icon_pause_inactive" android:state_enabled="true"/>


</selector>

停止; <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">


<item android:state_pressed="true" android:drawable="@drawable/icon_stop_active"/>
<item android:state_selected="true" android:drawable="@drawable/icon_stop_active"/>
<item android:state_enabled="true" android:drawable="@drawable/icon_stop_inactive"/>

播放:
</selector>

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/icon_play_active"/>
<item android:state_selected="true" android:drawable="@drawable/icon_play_active"/>
<item android:state_enabled="true" android:drawable="@drawable/icon_play_inactive"/>


</selector>

布局中:

<ImageButton
android:layout_marginRight="15dp"
android:background="@null"
android:id="@+id/stop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src=" @drawable/music_stop_style" />
<ImageButton
android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:src=" @drawable/music_play_style" />


<ImageButton
android:layout_marginLeft="15dp"
android:id="@+id/pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@ drawable/music_pause_style" />


代码中: public void onClick(View arg0) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.stop:
stop.setSelected(true);
play.setSelected(false);
pause.setSelected(false);
break;
case R.id.play:
stop.setSelected(false);
play.setSelected(true);
pause.setSelected(false);
break;
case R.id.pause:
stop.setSelected(false);
play.setSelected(false);
pause.setSelected(true);
break;

处理好即可、。

更多相关文章

  1. android中点击事件的4种写法
  2. android代码库之textview跑马灯效果
  3. 自定义动画(animation)时set中的各元素效果
  4. 设置控件不可点击
  5. 点击事件
  6. TextView跑马灯效果
  7. Android(安卓)Drawable Resources系列6:
  8. Android(安卓)面试题总结之Android(安卓)基础(四)
  9. 把TextView中的文字添加阴影效果及Style的使用

随机推荐

  1. android第一天
  2. Android(安卓)语音识别
  3. android xml文件操作
  4. Android(安卓)随机生成验证码的bitmap
  5. Android单词查找器
  6. adb最新版下载地址
  7. android异步取数据
  8. Android(Java):滑动删除实现——重写onTo
  9. Android(安卓)技术博客(3):android 悬浮窗菜
  10. Android(安卓)学习记录-加载菜单