Ok, ich versuche eine benutzerdefinierte Ansicht namens CheckedRelativeLayout
zu erstellen.Android: Wo finde ich den RadioButton Drawable?
Ihr Zweck ist der gleiche wie ein CheckedTextView
, um es in einer Liste der gewünschten Elemente oder in einer Spinner
verwenden zu können.
Es funktioniert alles gut, ich erweiterte RelativeLayout
und implementiert Checkable
Schnittstelle.
Allerdings stecke ich auf ein recht einfaches Problem: Wo finde ich die Drawable
, die CheckedTextView
und RadioButton
verwenden?
Ich schaute auf den Quellcode von beiden, und sie scheinen com.android.internal.R
zu verwenden. Nun ... das sind interne Sachen. Ich kann also nicht darauf zugreifen.
Irgendeine Möglichkeit, diese Drawables zu bekommen oder das Problem irgendwie zu lösen?
Das ist großartig. Ich habe sie gefunden. Habe auch das entsprechende 'R.drawable.btn_radio' gefunden. Aber das ist nur einer. Es gibt 'btn_radio_off.png' Dateien usw. Wie kann ich auf diese zugreifen? Gibt es etwas wie Staatsmanagement? – Peterdk
ist es ein Stateful Drawable. Es ändert den Status basierend auf dem Status der Ansicht. Wenn Sie es im SDK-Ordner betrachten, ist es als XML definiert. Wenn man sich das XML anschaut, kann man sehen, welche tatsächlichen PNGs verwendet werden (sie sind in Drawable-HDPI/MDPI-Ordnern. Stateful Drawable sind einfach genial und man kann dasselbe mit Farben machen. –
Um "btn_radio" für das aktuelle Theme zu verwenden kann "? android: attr/listChoiceIndicatorSingle" als Zeichenfläche verwenden. – sidon