Android 通过代码动态设置drawableTopCompat
时间: 2023-12-19 20:07:02 浏览: 27
可以通过以下代码动态设置drawableTopCompat:
```java
// 首先抽取按钮设置的drawable
private Drawable changeBtnTop(int id){
Drawable drawableTop = getResources().getDrawable(id);
drawableTop.setBounds(0, 0, drawableTop.getMinimumWidth(), drawableTop.getMinimumHeight());
return drawableTop;
}
// 设置drawableTopCompat
TextDrawable textDrawable = new TextDrawable(context);
textDrawable.setCompoundDrawablesWithIntrinsicBounds(null, changeBtnTop(R.drawable.ic_launcher), null, null);
```
其中,`changeBtnTop()`方法用于抽取按钮设置的drawable,并将其设置为drawableTop。`setCompoundDrawablesWithIntrinsicBounds()`方法用于设置TextView的drawableTopCompat,第一个参数为左边的drawable,第二个参数为上面的drawable,第三个参数为右边的drawable,第四个参数为下面的drawable。在这里,我们只需要设置上面的drawable,因此将第一个和第三个参数设置为null即可。