StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片效果,关键节点<selector>,我们需要将Button的background属性设置为该drawable资源即可轻松实现,按下按钮时不同的按钮颜色或背景
1.
drawable
:引用的
Drawable
位图 现可以引用color
2.
state_focused
:是否获得焦点
3.
state_pressed
:控件是否被按下
4.
state_enabled
:控件是否可用
5.
state_selected
:控件是否被选择,针对有滚轮的情况
6.
state_checked
:控件是否被勾选
7.
state_checkable
:空间可否被勾选,
eg:checkbox
8.
state_window_focused
:是否获得窗口焦点
9.
state_active
:控件是否处于活动状态,
eg:slidingTab
10.
state_single
:控件包含多个子控件时,确定是否显示一个子控件
11.
state_first
:控件包含多个子控件时,确定第一个子控件是否处于显示状态
12.
state_middle
:控件包含多个子控件时,确定中间一个子控件是否处于显示状态
13.
state_last
:控件包含多个子控件时,确定最后一个子控件是否处于显示状
Button事件处理
点击事件
button.setOnClickListener
(new
View.OnClickListener
(){
@Override
public void onClick(View v){
doSomething();
}
});
长按事件
button.setOnLongClickListener
(new
View.OnLongClickListener
(){
@Override
public boolean onLongClick(View v){
doSomething();
return false;
}
});
触摸事件
button.setOnTouchListener
(new
View.OnTouchListener
(){
@Override
public boolean onTouch(View v,MotionEvent event){
doSomething();
return false;
}
});