【发布时间】:2019-09-02 00:02:59
【问题描述】:
我有一个非常简单的复选框:
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/clipboardBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/clipboard_checkbox" />
对于选中/未选中,我有两个不同的图像。
迁移到 AndroidX 后,我在 API 21 以下的设备上看到了 Android 的默认图像。
我已经尝试过的:
- 将 CheckBox 更改为 AppCompatCheckbox(来自 AndroidX)- 没有任何变化
- 将背景设置为复选框并设置
android:button="@null"- 背景正常,但我仍然在背景上看到默认图像(见下图)
Android 似乎完全不尊重button 属性。
我没有想法。对于 Lollipop+,everythink 可以正常工作。有没有人遇到过这样的问题? 我所做的唯一改变是迁移到 AndroidX:/
【问题讨论】:
-
快速浏览一下源代码,
AppCompatCheckbox似乎使用了buttonCompat属性。顺便说一句,这将在您的应用程序的命名空间中;即xmlns:app="http://schemas.android.com/apk/res-auto"、app:buttonCompat="@drawable/clipboard_checkbox"。 -
实际上,现在我再看一遍,如果
buttonCompat不存在,它应该回退到常规的button属性。如果可以可靠地重现,那可能是一个错误。 -
^ 我会在大约 1 小时后检查它,我会通知你的! :)
-
嗯,好的。如果有机会,我稍后也会尝试运行一些测试。
-
设置
app:buttonCompat而不是android:button有效!谢谢! :D
标签: android checkbox android-checkbox