Android 从Java代码更改XML选择器(不可绘制)
我正在尝试创建一个通用自定义组合框库 如何更改xml代码->java代码 请给我一个提示Android 从Java代码更改XML选择器(不可绘制),android,xml,selector,statelistdrawable,Android,Xml,Selector,Statelistdrawable,我正在尝试创建一个通用自定义组合框库 如何更改xml代码->java代码 请给我一个提示 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true" android:state_pressed="false"> <shape android:shape="rectangle">
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="false">
<shape android:shape="rectangle">
<padding android:bottom="5dp" android:left="5dp" android:top="5dp" />
<stroke android:width="1px" android:color="@color/textbox_border_color" />
<solid android:color="@color/textbox_nomal_color" />
<corners android:bottomRightRadius="15dp" />
</shape>
</item>
<item android:state_enabled="true" android:state_pressed="true">
<shape android:shape="rectangle">
<padding android:bottom="5dp" android:left="5dp" android:top="5dp" />
<stroke android:width="1px" android:color="@color/textbox_border_color" />
<solid android:color="@color/textbox_pressed_color" />
<corners android:bottomRightRadius="15dp" />
</shape>
</item>
<item android:state_enabled="false"><shape android:shape="rectangle">
<padding android:bottom="5dp" android:left="5dp" android:top="5dp" />
<stroke android:width="1px" android:color="@color/textbox_border_color" />
<solid android:color="@color/textbox_disable_color" />
<corners android:bottomRightRadius="15dp" />
</shape>
</item>
</selector>
用于按代码查看选择器,如下所示:
StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed},
getResources().getDrawable(R.drawable.pressed));
states.addState(new int[] {android.R.attr.state_focused},
getResources().getDrawable(R.drawable.focused));
states.addState(new int[] { },
getResources().getDrawable(R.drawable.normal));
imageView.setImageDrawable(states); //YOUR IMAGE HERE
//AND FOR BUTTON
button.setBackgroundDrawable(states);//FOR BUTTON
这可能会有帮助