setCompoundDrawables使用

昨天在处理button上的遇到的问题,

第一个按钮没有启用显示的状态,。。。按钮上不显示右箭头括号。

解决方法:setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)

api原文为:

Sets the Drawables (if any) to appear to the left of, above, to the right of, and below the text. Use null if you do not want a Drawable there. The Drawables must already have had setBounds(Rect) called.

意思大概就是:可以在上、下、左、右设置图标,如果不想在某个地方显示,则设置为null。但是Drawable必须已经setBounds(Rect)。意思是你要添加的资源必须已经设置过初始位置、宽和高等信息。


后来才发现问题,是对drawable的边界进行处理时把参数传反了,修改后的可起作用代码如下:

1  Drawable  dra= getResources().getDrawable(R.drawable.button_yjt);
2            dra.setBounds( 0, 0, dra.getMinimumWidth(),dra.getMinimumHeight());
3            btn1.setCompoundDrawables(null, null, dra, null);
记得 setBounds(left, top, right, bottom);方法中各个参数的顺序,传入的参数一定要按顺序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值