[英]Customizing Android checkbox
我正在尝试部分更改 Android 复选框的图像。 按照这里的教程,我做了以下实验:
<CheckBox
android:checked="true"
android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<CheckBox
android:checked="true"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:button="@android:drawable/btn_check_on"
android:background="@android:drawable/btn_check_label_background"/>
<CheckBox
android:checked="true"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:button="@drawable/cb_on"
android:background="@drawable/cb_background"/>
对于第三个复选框,我已将图像btn_check_on.png和btn_check_label_background.9.png从 Android 的 SDK 复制到项目的res/drawable并将它们重命名为cb_on.png和cb_background.png 。 虽然我希望三个复选框具有相同的外观,但令人惊讶的是,第三个复选框比前两个大。 谁能解释为什么? 我该如何解决这个问题?
尝试在 cb_background.9.png 中重命名您的图像 cb_background.png
.9 表示图像是一个九块图像,它会自动重新缩放自身。
我认为这就是第三张图片更大的原因。
有关九补丁的更多信息: 这里
我的猜测是您只复制了可绘制对象的一种分辨率。 您需要将它们(mdpi、hdpi、ldpi)全部复制到相应的 res 文件夹(drawable-mdpi、drawable-hdpi、drawable-ldpi)
@Jokahero 对 9 补丁的看法是正确的,@jkhouw1 对决议的看法是正确的。 对于复选框,您还需要了解StateListDrawable 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.