以编程方式替换选择器图像我有一个ImageView,它有一个可绘制的图像资源设置到选择器。如何以编程方式访问选择器并更改突出显示和非突出显示状态的图像?这是选择器的代码:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/iconSelector">
<!-- pressed -->
<item android:state_pressed="true" android:drawable="@drawable/btn_icon_hl" />
<!-- focused -->
<item android:state_focused="true" android:drawable="@drawable/btn_icon_hl" />
<!-- default -->
<item android:drawable="@drawable/btn_icon" /></selector>我希望能够替换btn_icon_hl和btn_icon其他图像。
2 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
至于我已经能够找到(我自己尝试过类似的东西),在定义StateListDrawable之后无法修改单个状态。但是,您可以通过代码定义一个新的:
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);
你可以随便保留其中两个,或者根据需要创建另一个。
- 2 回答
- 0 关注
- 309 浏览
添加回答
举报
0/150
提交
取消