ImageButtonと同じように動作する線形レイアウトを作成したいと思います。Android:ClickイベントをLinearLayoutチャイルドに伝播してドロアブルを変更する方法
<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();
}
}
しかし、それはまだ同じをreamins。助けてくれてどうもありがとう。
はい!それでおしまい!ありがとうございました... – Bhiefer
android:duplicateParentState = "true"は私のためには機能しません。 –
私は同じ問題を抱えていますが、クリックが機能してセレクタが動作しません。 –