下面简单介绍下xml和代码两种方式:
1、xml 方式实现
1.1在res/drawable下新建一个xml 如 mybg.xml,具体内容如下:
< xml version="1.0" encoding="utf-8" >
1.2把view对应的android:background指向mybg,如
2、代码方式实现
StateListDrawable drawable = new StateListDrawable();
try {
drawable.addState(new int []{android.R.attr.state_focused, android.R.attr.state_enabled}, context.getResources().getDrawable(R.drawable.menu_focused));
drawable.addState(new int []{android.R.attr.state_pressed, android.R.attr.state_enabled}, context.getResources().getDrawable(R.drawable.menu_pressed));
drawable.addState(new int []{android.R.attr.state_checked, android.R.attr.state_enabled}, context.getResources().getDrawable(R.drawable.menu_clicked));
drawable.addState(new int []{android.R.attr.state_selected, android.R.attr.state_enabled}, context.getResources().getDrawable(R.drawable.menu_selected));
drawable.addState(new int []{}, context.getResources().getDrawable(R.drawable.menu_default));
} catch (Exception e) {
e.printStackTrace();
}
TextView view = new TextView(context);
view.setBackgroundDrawable(drawable);
部分view没有selected效果,只有radioButton等才有该效果。