簡體   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