android背景选择器selector的2种用法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
bg.addState(View.PRESSED_ENABLED_STATE_SET, selected);
bg.addState(View.ENABLED_STATE_SET, normal);
bg.addState(View.FOCUSED_STATE_SET, selected);
// TODO Auto-generated method stub
Toast.makeText(myActivity.this, "It is ok!", Toast.LENGTH_SHORT).show();
}
});
}
class MyButton extends View
{
public MyButton(Context context)
{
super(context);
}
// 以下这个方法也可以把你的图片数组传过来,以StateListDrawable来设置图片状态,来表现button的各中状态。未选
<!-- 默认时的背景图片-->
<item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false" android:drawable="@drawable/pic1" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true" android:drawable= "@drawable/pic2" />
<!-- 触摸模式下单击时的背景图片-->
// 中,按下,选中效果。
public StateListDrawable setbg(Integer[] mImageIds) {
StateListDrawable bg = new StateListDrawable();
Drawable normal = this.getResources().getDrawable(mImageIds[0]);
Drawable selected = this.getResources().getDrawable(mImageIds[1]);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.main);
bg.addState(View.EMPTY_STATE_SET, normal);
return bg;
} Βιβλιοθήκη } } android:background="@drawable/test"
第二种:代码编写方式
先将图片拷贝到drawable下面,在代码中定义一类如下:
public class myActivity extends Activity {
/** Called when the activity is first created. */
btn.setBackgroundDrawable(myButton.setbg(mButtonState));
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
android背景选择器selector的2种用法(button控件)
第一种:Xml配置方式
1.先将图片拷贝到drawable下面,再在下面建立xml文档:drawable/test.xml,格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="/apk/res/android">
Integer[] mButtonState = { R.drawable.p1,R.drawable.p2};
MyButton myButton = new MyButton(this);
Button btn = (Button)findViewById(R.id.button1);
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pic3" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/pic4" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/pic5" />
</selector>
2.文档定义好后,在main.xml下的button属性中增加下面代码:
android:focusable="true"