2013-06-05 90 views
5

我正在使用一個應用程序,我需要選擇聯繫人。爲此我顯示了一個包含聯繫人和chechbox的列表視圖。如何在Android中自定義(增加大小)複選框

Android默認複選框的大小很小。我想增加複選框的大小和視覺效果。

我看了下面的帖子

Change the size of android Checkbox

在它說我需要使用不同的繪製資源用於這一目的。

我不知道在哪裏需要設置drawable或如何做到這一點。

+0

[增加複選框的大小]的可能重複(http://stackoverflow.com/questions/7324036/increasing-the-size複選框) – Kyle

回答

9

這是在博客How to Customize checkbox in Android和下面的內容非常好解釋的是從同一個博客服用。

你可以看到博客的詳細How to Customize checkbox in Android

要自定義複選框同比增長需要定義我們自己可繪製爲選中和未選中狀態。 對於檢查狀態取兩個可繪製狀態,對於未檢查狀態取兩個。 創建水庫下一個新的.xml文件>繪製文件夾命名custom_checkbox_design.xml(或任何有效的名稱)複選框

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_checked="true" android:drawable="@drawable/checked" /> 
    <item android:state_checked="false" android:drawable="@drawable/unchecked" /> 

</selector> 

設置的android:按鈕屬性將custom_checkbox_design.xml繪製像 機器人:按鈕= 「@繪製/ custom_checkbox_design」

 **<!-- Customized Checkboxes -->** 

     <CheckBox 
       android:id="@+id/checkBoxCustomized1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="Checked Checkbox" 
       android:layout_marginTop="20dp" 
       android:checked="true" 
       **android:button="@drawable/custom_checkbox_design"** 
       android:textSize="20dp" /> 
+0

感謝kamal它工作,並且博客很好,是你的。 – user2446474

+3

但你如何在dp中設置drawable的大小? –

+0

你已經釘死了它!我一直在試圖控制滴答顏色,但在較早的舊版android sdk's(pre 21)中的主題不允許任何控制。現在我可以設計各個方面。 UPVOTED! :) –

4

checked.xml

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<gradient android:startColor="#ffff0000" android:endColor="#ff000000" android:angle="270"/> 
<stroke android:width="4px" android:color="#ffc0c0c0" /> 
<size android:height="20dp" android:width="20dp"/> 
</shape> 

Unchecked.xml

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<gradient android:startColor="#ff585858" android:endColor="#ff000000" android:angle="270"/> 
<stroke android:width="4px" android:color="#ffc0c0c0" /> 
<size android:height="20dp" android:width="20dp"/> 
</shape> 

custom_checkbox.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_checked="true" 
android:drawable="@xml/checked" /> 
<item android:state_pressed="true" 
android:drawable="@xml/checked" /> 
<item android:drawable="@xml/unchecked" /> 
</selector> 

,然後在XML

<CheckBox 
android:id="@+id/checkbox2" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="center" 
android:button="@xml/custom_checkbox"/> 

欲瞭解更多詳細信息,請參閱本blogCustom checkbox image android

我希望這會幫助你。

3

您可以使用ALSE使用的scaleX和scaleY對API 11+

<CheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:scaleX="1.5" 
    android:scaleY="1.5"/> 
相關問題