为了账号安全,请及时绑定邮箱和手机立即绑定

以编程方式替换选择器图像

以编程方式替换选择器图像

繁星淼淼 2019-08-26 17:29:13
以编程方式替换选择器图像我有一个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);

你可以随便保留其中两个,或者根据需要创建另一个。


查看完整回答
反对 回复 2019-08-26
  • 2 回答
  • 0 关注
  • 309 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信