10

由于在按钮上,我们可以使用 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 代码中获得可绘制的“进度”?

4

4 回答 4

24

我想你想要Button.getCompoundDrawables()[0]

于 2012-10-30T20:20:23.367 回答
3

看着:http: //developer.android.com/reference/android/widget/Button.html

你可以看到

myButton.setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)

应该给你你想要的。

顺序:左上右下

于 2012-10-30T20:00:42.053 回答
0

如果视图是按钮,

button.getBackground().setLevel(x);
imageView.getDrawable().setLevel(x);
于 2014-12-22T03:03:36.220 回答
0

文档链接

Button.getCompoundDrawables()[index]

其中 , ,可以分别index为 0, 1, 2, 3 。drawableLeftdrawableTopdrawableRightdrawableBottom

于 2019-06-20T06:52:46.057 回答