繁体   English   中英

自定义 Android 复选框

[英]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.pngbtn_check_label_background.9.png从 Android 的 SDK 复制到项目的res/drawable并将它们重命名为cb_on.pngcb_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM