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();
}
}
しかし、それはまだ同じままです。助けてくれてありがとう。