java - 如何获取 API 21 中复选框的 ButtonDrawable?

标签 java android material-design android-animation android-vectordrawable

我在复选框的 android:button 属性中设置了一个可绘制的 vector :

<androidx.appcompat.widget.AppCompatCheckBox
    ...
    android:button="@drawable/avd_urgent"
    ...
/>

现在我想在我的代码中获取这个可绘制对象并为其设置动画:

urgentChbx.setOnCheckedChangeListener((view, isChecked) -> {
    ((Animatable) urgentChbx.getButtonDrawable()).start(); // available only in API 23 and above
}

但是 getButtonDrawable() 方法只能在 API 级别 23 及更高级别中访问。如何在 API 级别 21 中获取可绘制按钮?

最佳答案

正如 Mike M. 在评论中提到的,使用 CompoundButtonCompat.getButtonDrawable(urgentChbx) 获取复选框的可绘制按钮。

关于java - 如何获取 API 21 中复选框的 ButtonDrawable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54061158/

相关文章:

java - 将日期字符串转换为 Java 中的特定日期格式 "dd-MM-yyyy"

java - protobuf 确定要反序列化的消息类型

java - 从辅助线程在主线程上调用带参数的方法

java - Android:处理 ListView 中的 CheckBox

android - 将微调器选择的项目保存到 Android Room

css - 不同的 Material Icons 样式不对齐

android - Material Design 的深色主题颜色是什么?

java - MessageListener如何在JMS中运行?能否实时加载队列中的消息?

android - Imageresource 无法使其工作 : Incompatible types

angular - 文本溢出 : ellipsis in mat-expansion-panel header