Me gustaría crear un diseño lineal que se comporte de manera similar a ImageButton.Android: Cómo propagar el evento click a LinearLayout childs y cambiar su drawable
<LinearLayout
android:id="@+id/container"
style="?WidgetHomeIconContainer">
<ImageView
android:id="@+id/icon"
style="?WidgetHomeIcon" />
<TextView
android:id="@+id/title"
style="?WidgetHomeLabel"
android:text="@string/title"
android:textAppearance="?attr/TextHomeLabel" />
</LinearLayout>
En estilos de ImageView, Vista de Texto y LinearLayout, fijo una selectores para todos los estados.
Ahora:
- cuando hago clic en ImageView (I trató también con ImageButton) - se comporta correctamente y la imagen se cambia según el xml selector.
- cuando hago clic en LinearLayout - la disposición lineal se hace clic, pero el ImageView y TextView no cambian su apariencia estirable/
Así que me gustaría hacer lo siguiente. Cuando hago clic en LinearLayout principal, necesito cambiar todo el estado de los elementos secundarios al presionado.
He intentado añadir siguiente código para LinearLayout OnClickListener para propagar el clic:
@Override
public void onClick(View v)
{
LinearLayout l = (LinearLayout) v;
for(int i = 0; i < l.getChildCount(); i++)
{
l.getChildAt(i).setClickable(true);
l.getChildAt(i).performClick();
}
}
Pero todavía reamins la misma. Muchas gracias por cualquier ayuda.
YES! ¡Eso es! Gracias ... – Bhiefer
android: duplicateParentState = "true" no funciona para mí, ¿alguna idea de por qué? –
Tengo el mismo problema, pero el clic funciona y el selector no funciona, ¿alguna idea? –