2010-12-13 7 views
0
Update 1:

Mein Radio Button Hintergrund ist transparent, wie mache ich es undurchsichtig?

Ich folgte den Anweisungen von Archimedes unten. Problem ist, dass mein API 9 "Drawable" -Ordner bereits ein XML-Dokument mit dem Titel "btn_radio.xml" hat und der Code darin genauso ist wie oben dargestellt. Nun, wenn ich gehe zurück, um es zu verdunkeln und sagen:

`<RadioButton android:background="@drawable/btn_radio" ... />` 

Ich erhalte eine Fehlermeldung im Gegenzug sagen Fehler: Keine Ressource gefunden, dass entspricht dem angegebenen Namen (auf ‚Hintergrund‘ mit dem Wert ‚@ ziehbar/btn_radio_on‘).

Also was ich getan habe ist, ging ich in den API 8-Ordner und sah gefunden die Drawable_HDpi und MDPI Ordner, eine Suche nach btn_radio_off und btn_radio_on und kopierte diese beiden Bilder in die entsprechenden API 9-Ordner. Dies behebt das Problem, dass in Eclipse Radio Button Hintergründe nicht angezeigt werden. Allerdings, wenn ich meinen Code ausführen, zeigt das virtuelle Gerät noch das alte gebrochen (transparent) Bild *

Original-Beitrag:.

Hallo, ich bin nach einem Lebkuchen 2.3 (Ich bin mit Win7/Eclipse) Tutorial von dieser Seite und ich sehe mir dieses Bild hier an:

Jedes Mal, wenn ich ein neues Optionsfeld zu meinem grafischen Layout in Main.xml hinzufügen, ist der silberne Teil des Optionsfelds transparent. Unabhängig von der Hintergrundfarbe des Hauptfensters sehe ich nur die Umrisse eines Optionsfelds, und dieses Optionsfeld wird mit der Farbe des gesamten Hintergrunds ausgefüllt.

Wenn ich ein gruppiertes Element erstelle und zwei Optionsfelder in eine Gruppe einfüge, kann ich zwischen den beiden hin- und herschalten, wobei die grüne Anzeige anzeigt, welche umgeschaltet wird, aber die Schaltflächen selbst sind transparent.

Wie mache ich meine Radio-Schaltfläche wie die im Bild oben aussehen? Es scheint, dass egal wie oft ich ein "neues" Projekt starte, das Problem bestehen bleibt. Das einzige, was es beeinflusst, ist das Umschalten eines anderen "Themas", aber das ist nicht wirklich eine Lösung, wenn ich die App einmal ausgeführt habe.

Danke für Ihre Hilfe.

+1

Side Hinweis: Sie sollten auch Ihre Frage als 'Android' markieren. – Albireo

Antwort

0

Dies scheint ein neues Gingerbread (2.3, API Level 9) grafischen Stil für die RadioButton Zeichenbestandteile PNGs zu sein.

Die einfachste Lösung ist einfach, Lebkuchen nicht zu verwenden ... gehen Sie zu Ihren Projekteigenschaften, wählen Sie die Registerkarte "Android" und ändern Sie das "Projekt Build Target" auf API Level 8 oder niedriger.

+0

Die Einstellung auf 2.2 oder API 8 behebt das Problem, löst das Problem jedoch nicht. – WarmRegards

+0

Ich habe meine ursprüngliche Frage etwas weiter geklärt, um zu verdeutlichen, dass es Lebkuchen ist, und um Punkt A und Punkt B zu zeigen, zu dem ich zu gelangen versuche. Danke für deine Hilfe, hast du noch weitere Vorschläge? – WarmRegards

+0

Arhimed hat mich dazu oben geschlagen. –

0

Dies ist eine Abhilfe, die ich glaube, sollte für Sie arbeiten:

1). Finden Sie 'btn_radio_off.png', 'btn_radio_off_pressed.png', 'btn_radio_off_selected.png', 'btn_radio_on.png', 'btn_radio_on_pressed.png', 'btn_radio_on_selected.png' Bilder bei 2.2 Quellen. Sie können sie in Ihren SDK-Unterordnern finden. Beachten Sie, dass es mehrere Sätze von Bildern gibt (HDPI, MDPI usw.). Erstellen Sie die Dateistruktur, die sich auf diese Dateien bezieht, innerhalb Ihres 'zeichnbaren' Verzeichnisses neu.

2). In Ihrem ‚ziehbar‘ Verzeichnis der ‚btn_radio.xml‘ Datei mit folgendem Inhalt:

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

    <item android:state_checked="true" android:state_pressed="true" 
      android:drawable="@drawable/btn_radio_on_pressed" /> 
    <item android:state_checked="false" android:state_pressed="true" 
      android:drawable="@drawable/btn_radio_off_pressed" /> 

    <item android:state_checked="true" android:state_focused="true" 
      android:drawable="@drawable/btn_radio_on_selected" /> 
    <item android:state_checked="false" android:state_focused="true" 
      android:drawable="@drawable/btn_radio_off_selected" /> 

    <item android:state_checked="false" android:drawable="@drawable/btn_radio_off" /> 
    <item android:state_checked="true" android:drawable="@drawable/btn_radio_on" /> 
</selector> 

Diese Liste tatsächlich der gleiche Zustand ist, dass OS für Radio-Buttons verwendet.

3). Dann innerhalb des Layouts xml erklärt Ihr benutzerdefiniertes Optionsfeld der oben Zustandsliste ziehbar unter Verwendung von mit android:background Attribute:

<RadioButton android:background="@drawable/btn_radio" ... /> 
+0

Super! Ich denke, das löst es, vielen Dank für Ihre Hilfe! – WarmRegards

+0

@ user540647: Bitte testen Sie zuerst und dann, wenn es Ihr Problem wirklich löst, dann markieren Sie meine Antwort als eine Lösung. :) –

+0

Ok, das hat nicht funktioniert. Problem ist, dass mein API 9 "Drawable" -Ordner bereits ein XML-Dokument mit dem Titel "btn_radio.xml" hat und der Code darin genauso ist wie oben dargestellt. Jetzt, wenn ich zurück zu Eclipse gehe und sage: Ich bekomme eine Fehlermeldung im Gegenzug sagen Fehler: Keine Ressource gefunden, die den angegebenen Namen (at ' Hintergrund 'mit dem Wert ' @ drawable/btn_radio_on '). – WarmRegards