android:drawableLeft的Button不能切换图片问题之解决办法
16lz
2021-01-24
带有图片的Button小而精致。
有时候我们需要2种表达状态。
比如静音按钮,一个状态是静音,一个状态是非静音。
例如:
<span style="font-size:14px;"> <Button android:id="@+id/btn_mute" style="?android:attr/buttonBarButtonStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:gravity="center" android:drawableLeft="@drawable/phone_nomute" android:paddingLeft="10dp" android:paddingTop="5dip" android:paddingBottom="5dip" android:background="@drawable/green_btn_selector" android:textColor="@color/white" android:textSize="22sp" android:text="@string/call_mute" /></span>
android:drawableLeft="@drawable/phone_nomute"是默认状态的图片,未静音的。
当状态切换成静音,我们需要改变这个图片。
奇怪的是,在代码里面直接使用
<span style="font-size:14px;">btnMute.setCompoundDrawablesWithIntrinsicBounds(R.drawable.phone_mute, 0, 0, 0);</span>
是不能更改图片的。
尝试了几次,发现这样就可以设置了:
<span style="font-size:14px;">btnMute.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);btnMute.setCompoundDrawablesWithIntrinsicBounds(R.drawable.phone_mute, 0, 0, 0);</span>
可能是Google的bug吧。
虽多加了一句,但终究出现想要的效果了。
小tips,记得就好。
更多相关文章
- Android获取网络图片并显示的方法
- Android软键盘调用及隐藏,以及获得点击软键盘输入的字母信息
- Android(安卓)拍照强制横屏解决...
- Android:全面&详细的解析Android数据流量统计流程与分析方法(流量
- Android实现自定义带文字和图片的Button
- 关于android中drawable—hdpi、drawable—mdpi、drawable—ldpi
- Android(安卓)BitmapShader 实战 实现圆形、圆角图片
- Android(安卓)ImageView.ScaleType总结
- Android(安卓)自定义Drawable 实现圆角圆形图片