因为在按钮上,我们可以使用android:drawableLeft来设置按钮左侧的drawable。有没有办法以编程方式获得这个可绘制的?
<Button android:id="@+id/detail_refresh_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="@string/refresh"
android:gravity="center"
android:drawableLeft="@drawable/progress"
/>
有没有办法在Java代码中获得可绘制的“进度”?
答案 0 :(得分:19)
我想你想要Button.getCompoundDrawables()[0]
答案 1 :(得分:3)
查看:http://developer.android.com/reference/android/widget/Button.html
你可以看到
myButton.setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)
应该给你你想要的东西。
订单:左,上,右和下
答案 2 :(得分:0)
如果视图是按钮,
button.getBackground().setLevel(x);
imageView.getDrawable().setLevel(x);
答案 3 :(得分:0)
Button.getCompoundDrawables()[index]
其中index
可以分别是drawableLeft
,drawableTop
,drawableRight
,drawableBottom
的0、1、2、3。