Android学习笔记--state list

            在用户进行操作的时候总是会提示出不同的状态,比如当我们按下button,光标移动到button上并没有按下以及当前状态不在该button时总会显示不同的状态,在Android系统中提供给我们一种方便与实现这种功能的方法即:state list drawable

           StateListDrawable是在XML中定义的drawable对象,我们可以通过设置不同item下的图片来显示不同状态,它的XML文件定义如下:

<selector>为根节点,其下子节点只有一个为item

           android:constantSize: boolean型,默认为false

     android:ditherboolean型,默认为true,当位图与屏幕的像素配置不一样时(例如,一个ARGB8888的位图与RGB555的屏幕)会自行递色(dither)。设置为false时不可递色。

           android:variablePaddingboolean型,默认为false,当设置为true时,则drawablepadding值随当前选择的状态而改变。

<item>通过其属性定义当选中某种状态的时候应该显示的图片资源;

           android:drawable:必须的参数,drawable资源;

           android:state_pressedboolean型,设置为true时表示当对象被按下时该item会显示或者说生效,为false时表示该item为默认状态非选中状态;

           android:state_focusedboolean型,为true时表示该item生效为焦点在对象上时,false为非选中状态;

           android:state_selectedboolean型,同上功能,该属性表示的时被选择状态;

           android:state_checkableboolean型,仅仅用在可以选择widget上,为true表示可选择,为false表示不可选;

           android:state_checkedboolean型,为true时,表示当选中时该item生效,false为未选中时生效;

           android:state_enabledboolean型,当为true时,该item在对象可激活时生效,如该对象可以接受触摸或者点击事件时;

           android:state_window_focusedboolean型,为true时,表示该item在当前窗口焦点为该应用程序窗口时生效也就是说该应用程序窗口为foreground,否则为false

           当我们要定义一个自己需要的状态选择功能的文件时,其实现方式主要可简括为两步:

1.        /res/drawable 目录下建立自己需要的.xml文件如button.xml

  

2.        layout xml文件中引用:如

     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值