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. spring mvc 使用及json 日期转换解决方案

    http://blog.csdn.net/z69183787/article/details/40375479

  2. ActionBar官方教程(1)简介及各区域介绍

    Action Bar The action bar is a window feature that identifies the user location, and provides user a ...

  3. POJ 3083 Children of the Candy Corn 解题报告

    最短用BFS即可.关于左手走和右手走也很容易理解,走的顺序是左上右下. 值得注意的是,从起点到终点的右手走法和从终点到起点的左手走法步数是一样. 所以写一个左手走法就好了.贴代码,0MS #inclu ...

  4. ASCII,Unicode和UTF-8

    转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 今天中午,我突然想搞清楚Unicode和UTF-8之间的关 ...

  5. 教您Photoshop中如何快速放大、缩小、移动图像

    教您Photoshop中如何快速放大.缩小.移动图像 http://jingyan.baidu.com/article/ae97a646aaeaaebbfc461d5e.html

  6. SPOJ3267 D-query 离线+树状数组 在线主席树

    分析:这个题,离线的话就是水题,如果强制在线,其实和离线一个思路,然后硬上主席树就行了 离线的代码 #include <iostream> #include <stdio.h> ...

  7. lightoj 1010

    题意,在一个n*n的棋盘上放置一些马,使这些马不能互相攻击,问最多能放多少. 思路:从第一行每隔一个放置一个马即可,注意n=1和n=2的情况要特判. #include<cstdio> in ...

  8. [Tommas] SQL 中 WITH AS 的用法

    WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到: 下面的例子定义了一个 Temp 片段,Te ...

  9. ios之UI中自定义cell

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  10. vs2010常用快捷方式

    1.注释 直接打三个"///"就会出现 /// <summary> ///非方法体上 /// </summary> MusicStoreEntities s ...