2014-11-28 18 views
13

Ho un'app per Android che ha funzionato bene pre-Android 5.0. Con l'aggiornamento, ho notato che le caselle di controllo e i pulsanti radio posizionati su sfondi bianchi non sono visibili se non sono selezionati. Ad esempio, questo è ciò che appare una casella di controllo selezionata e non selezionata in Jellybean:Android 5.0 rende invisibili le caselle di controllo non selezionate quando lo sfondo è bianco

enter image description hereenter image description here

Come si può vedere, c'è una piazza grigio chiaro quando la casella di controllo non è selezionata. Tuttavia, dopo l'aggiornamento a lollipop, questo è ciò che sembra:

enter image description hereenter image description here

Quindi, come potete vedere, non v'è alcuna quadrato grigio o qualsiasi cosa che suggerisce che c'è una casella di controllo qui. Lo stesso problema succede con i radiobutton. Non voglio davvero passare attraverso il dolore di creare nuovi drawable solo per questo semplice motivo. Ho visto che le caselle di controllo all'interno del menù di accessibilità di Android 5 hanno una bella piazza, ma non ho capito come rendere il mio lo stesso aspetto:

enter image description here

Ho cercato di creare un nuovo progetto Android e solo l'aggiunta di alcune caselle di controllo e pulsanti di opzione con uno sfondo bianco, ma sono ancora invisibili se deselezionate. Sto usando xamarin studio e C#, se questo fa alcuna differenza. Ad ogni modo, capirò qualsiasi codice java che pubblichi.

Questo è ciò che il mio codice casella di controllo si presenta come:

  <CheckBox 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:id="@+id/chkSeleccionar" 
      android:layout_gravity="right" 
      android:gravity="center_vertical" 
      android:clickable="false" 
      android:focusable="false" 
      android:scaleX="1.5" 
      android:scaleY="1.3" 
      android:layout_weight="50" 
      /> 
+0

Quale tema stai usando? – ianhanniballake

+0

Penso che sia Holo. Ho definito alcuni stili, ma solo per la barra delle azioni e i dialoghi. Come posso essere sicuro che sia holo? –

+0

Cerca un elemento 'android: theme' nel tuo file AndroidManifest.xml (sia sulla tua applicazione o su una singola attività), quindi cerca lo stile impostato lì e controlla l'attributo' parent' per lo stile. – ianhanniballake

risposta

1

Assicurarsi che si sta utilizzando un tema Materiale per i dispositivi Android 5.0 - questo farà sì che sei styling rimane coerente con gli altri componenti. Cerca un elemento android:theme nel file AndroidManifest.xml (sull'applicazione o su una singola attività), quindi controlla quale stile è impostato lì e controlla l'attributo parent per lo stile.

7

non ho potuto ottenere il funzionamento tema, ma ciò che ha funzionato per me è stato il seguente:

android:button="@drawable/abc_btn_check_material" 
android:buttonTint="@color/red" 

mettere questo nel layout CheckBox XML.

+2

più 1 per Android: buttonTint –

+0

android: button = "@ drawable/abc_btn_check_material" dà avviso come privato –

6

Basta cambiare il

android:buttonTint="YOUR COLOR" 

Funziona.

+0

solo questo ha funzionato per me –

+0

Cool, ha funzionato per me è per questo che l'ho pubblicato. – jsam

Problemi correlati