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

首先看到selector的属性:
android:state_focused
android:state_pressed
android:state_selected
android: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;


     处理好即可、。

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

  1. Android——selector背景选择器的使用详解(二)

    在开发应用中,很多情况下要设计listview或button控件的背景,下面总结一下android的selector的用法:1.在drawable中配置Android的selector.将如下的XML ...

  2. Android selector背景选择器

    selector根据不同的选定状态来定义不同的现实效果 常用属性: android:state_selected--------选中 android:state_focused--------获得焦点 ...

  3. Android中selector背景选择器

    http://blog.csdn.net/forsta/article/details/26148403 http://blog.csdn.net/wswqiang/article/details/6 ...

  4. Android:关于背景选择器Selector的item顺序

    在使用背景选择器的时候,如果item的顺序不对,会导致不起作用. 1.首先背景选择器的normal选项一定要放在最后. 2.pressed的选择器应该在seclet的前面.我在使用的时候找了半天问题, ...

  5. Android View 背景选择器编写技巧

    在项目中选择器的使用是非常多的,以下是本人在项目中的一些常用的背景选择器的写法 带边框下划线背景选择器效果图: 上面布局中放了10个CheckBox,然后设置了CheckBox的背景图片位,背景选择器 ...

  6. android中的selector背景选择器的用法

    关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法. 首先android的selector是在 ...

  7. Android的selector 背景选择器

    关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法.首先android的selector是在d ...

  8. [转]永久告别Android的背景选择器Selector!无需切很多图了!

    package com.zoke.custom.autobg; import android.content.Context; import android.content.res.TypedArra ...

  9. Android:res之selector背景选择器

    selector根据不同的选定状态来定义不同的现实效果 常用属性: android:state_selected--------选中android:state_focused--------获得焦点a ...

随机推荐

  1. 这个帖子要收藏,以后用得着--python 实时获取子进程输出

    在论坛上找到方法了,http://bbs.csdn.net/topics/340234292 http://blog.csdn.net/junshao90/article/details/821575 ...

  2. UIcollectionView的使用(首页的搭建4)

    2.5 头部视图

  3. easyui源码翻译1.32--ComboTree(树形下拉框)

    前言 扩展自$.fn.combo.defaults和$.fn.tree.defaults.使用$.fn.combotree.defaults重写默认值对象.下载该插件翻译源码 树形下拉框结合选择控件和 ...

  4. OpenCV学习笔记:如何扫描图像、利用查找表和计时

    目的 我们将探索以下问题的答案: 如何遍历图像中的每一个像素? OpenCV的矩阵值是如何存储的? 如何测试我们所实现算法的性能? 查找表是什么?为什么要用它? 测试用例 这里我们测试的,是一种简单的 ...

  5. Binary to Text (ASCII) Conversion

    Binary to Text (ASCII) Conversion Description: Write a function that takes in a binary string and re ...

  6. Android开发UI之android:gravity / android:layout_Gravity,android:padding / android:layout_margin属性区分

    android:gravity / android:layout_Gravity区别: android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的te ...

  7. Android开发UI之自定义视图属性

    Android框架中,所有自定义的view类都继承自View,也可以继承Button等view的子类 为了允许ADT能够与view交互,必须提供一个能够获取Context和作为属性的Attribute ...

  8. Codeigniter夸应用调用model

    Thinkphp里面的model都是可以跨应用调用,ci本身没有实现这个方法.可是稍微修改下,比Thinkphp用起来更容易调用.找到Loader.php文件的地址/system/core/Loade ...

  9. Android开发视频学习(2)

    S02E05_Android当中的线程 Worker Thread不允许操作UI,只能在Main Thread操作UI S02E06_Handler(一) Handler,Looper,Message ...

  10. HashPasswordForStoringInConfigFile 已过时

    在.net 4.5版本下,使用System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile进行MD5加密时,会出 ...