Я хотел бы создать линейный макет, который вел бы себя аналогично ImageButton.
<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>
В стилях ImageView, TextView и LinearLayout я установил селекторы для всех состояний.
Теперь:
Итак, я хотел бы сделать следующее. Когда я нажимаю на родительский LinearLayout, мне нужно изменить все его дочерние элементы на нажатое состояние.
Я попытался добавить следующий код в LinearLayout onClickListener для распространения щелчка:
@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();
}
}
Но он все тот же. Большое спасибо за любую помощь.