2013-03-31 18 views
6

sto diventando pazzo con i pulsanti di Android 4.personalizzati in Android 4

Prima di tutto, ho impostato un selettore come sfondo con due diversi file PNG selezionati dalla cartella drawable:

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

ma non so perché sono x-scalati. Voglio gestire questa dimensione, ma ho provato a cambiare layout_width/height/weight ... senza successo.

Ho anche un file PNG personalizzato da utilizzare come il pollice dell'interruttore. Devo anche gestire la dimensione di questo pollice, perché se imposto le proprietà textOn e textOff come "", il pollice diventa di dimensioni molto ridotte. Inoltre, mi piacerebbe cambiare il padding del pollice rispetto allo sfondo, perché non appare centrato.

Ecco il mio interruttore definizione XML:

<Switch 
    android:id="@+id/switchUsers" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/user" 
    android:textOn="" 
    android:textOff="" 
    android:thumb="@drawable/form_switch_slider" 
    android:track="@drawable/switch_user_selector" /> 

Ho provato a cambiare le dimensioni delle immagini e rendendoli quelli di nove di patch, ma non riesco a raggiungere il mio obiettivo.

Qualsiasi aiuto sarà apprezzato. Grazie!

risposta

8

Il solucion per il estremamente piccolo cursore senza testo è stato risolto con una combinazione di:

android:thumbTextPadding="25dp" 
android:textOn="" 
android:textOff="" 

Quindi, il problema della piccola imbottitura nella stessa cursore stato un problema di immagine 9-patch. Ho dovuto estendere in basso e in basso le linee nere un altro pixel in modo simmetrico.

Spero che questo aiuti qualcuno con lo stesso problema.