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