2013-06-05 18 views
5

Sto lavorando con un'app in cui è necessario selezionare Contatti. Per questo sto mostrando una listview con contatti e chechbox.Come personalizzare (Aumenta dimensioni) della casella di controllo in Android

La casella di controllo predefinita di Android è di piccole dimensioni. Voglio aumentare le dimensioni e le immagini della casella di controllo.

ho letto seguente post

Change the size of android Checkbox

In cui si dice che ho bisogno di utilizzare diversi drawable per questo scopo.

Non ho idea di dove sia necessario impostare il drawable o come farlo.

+0

possibile duplicato [L'aumento delle dimensioni della casella di controllo] (http://stackoverflow.com/questions/7324036/increasing-the-size -del-check-box) – Kyle

risposta

9

Questo è molto ben spiegato nel blog How to Customize checkbox in Android e il contenuto di seguito è tratto dal blog stesso.

Si può vedere il blog per maggiori dettagliHow to Customize checkbox in Android

Per personalizzare le caselle di controllo su base annua necessario definire le nostre drawable per lo stato controllato e incontrollato. Prendi due drawable per stato controllato e altro per lo stato deselezionato. Creare un nuovo file XML in RES-> drawable cartella denominata custom_checkbox_design.xml (o qualsiasi nome valido)

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

nella casella set android: proprietà del pulsante per il drawable custom_checkbox_design.xml come Android: pulsante = "@ drawable/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

grazie kamal funziona, e il blog è molto bello, è il tuo. – user2446474

+3

ma come si imposta la dimensione del drawable in dp? –

+0

LO HAI CHIAMATO !!!! Ho cercato di controllare il colore delle zecche, ma i temi nelle vecchie versioni precedenti di Android sdk (pre 21) non consentono alcun controllo. ora posso tutti gli aspetti del design. Upvoted! :) –

1

controllo questo turorial. Essa mostra le varie personalizzazioni in caselle di controllo ...

+1

grazie anche per la tua risposta – user2446474

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> 

E poi nella vostra 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"/> 

Per maggiori dettagli si veda questo blog e Custom checkbox image android.

Spero che questo ti possa aiutare.

3

È possibile utilizzare alse utilizzare scaleX e scaleY su API 11+

<CheckBox 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:scaleX="1.5" 
    android:scaleY="1.5"/> 
Problemi correlati