Android: ¿Dónde encontrar el RadioButton Disponibles?
-
03-10-2019 - |
Pregunta
Ok, Estoy intentando crear una vista personalizada llamada CheckedRelativeLayout
.
Es propósito de es lo mismo que un CheckedTextView
, para poder utilizarlo en una lista de elementos que desea seleccionado o en un Spinner
.
Es todo fino trabajo ahora, me ampliado RelativeLayout
y la interfaz Checkable
implementado.
Sin embargo, estoy atascado en un problema bastante simple: ¿Dónde puedo encontrar el Drawable
que CheckedTextView
y RadioButton
uso
Me miraba el código fuente de ambos, y parece que usar com.android.internal.R
. Bueno ... eso es algo interno. Así que no puedo acceder a él.
Cualquier forma de obtener estos dibujables o resolver el problema de alguna manera?
Solución
mirada debajo de la carpeta SDK /platforms/android-2.0/data/res/ se puede acceder a ellos mediante una android.R.drawable (si es pública) o necesidad de copiarlos como dibujable a su proyecto
Otros consejos
En aras de la exhaustividad:
A continuación, algunas piezas de código que muestran cómo lo tengo trabajando con respuesta aceptada anteriormente.
//Image Setup (Once when creating this view)
ImageView indicator = (ImageView) findViewById(R.id.RadioStatusImage);
indicator.setImageDrawable(getResources().getDrawable(android.R.drawable.btn_radio));
//State Change (In some other method)
android.R.attr.state_checked
if (isChecked)
{
indicator.setImageState(android.R.attr.state_checked, false);
}
else
{
indicator.setImageState(View.ENABLED_STATE_SET, false);
}
invalidate();
Para utilizar el nuevo valor predeterminado animada botón de radio estirable, la respuesta correcta es en el comentario de @sidon:
?android:attr/listChoiceIndicatorSingle
El uso de este en la posición personalizada en relación con el texto:
<RadioButton
...
android:gravity="center_horizontal|bottom"
android:drawableTop="?android:attr/listChoiceIndicatorSingle"
android:button="@null"
/>