3

線形レイアウトがあり、onClickListenerが実装されています。これで、クリックすると背景色が白に変わり、他の何かがクリックされるまでその状態が維持されるようにしたいと思います。他の何かがクリックされたとき、私はそれを透明な背景にしたいですこれを達成する方法は?前もって感謝します

4

2 に答える 2

3

ドローアブルフォルダに2つのドローアブル画像を作成します。また、クリックすると、レイアウトの背景を変更できます。次のコードは背景を変更します:

 LinearLayout layout=(LinearLayout) findViewById(R.id.linearlayout);
    layout.setBackgroundResource(getResources().getDrawable(R.drawable.drawable_name));
于 2012-02-20T06:59:14.690 に答える
1

セレクターを背景として使用することもできると思います。おそらく、「選択済み」または「フォーカス済み」状態を利用して、背景を透明と白の間で切り替えることができます。次のようになります。

<LinearLayout
...
    android:background="@drawable/bg_list_selector"
...
</LinearLayout>

そしてbg_list_selector.xml、ドローアブルフォルダに:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@android:color/transparent" />
    <!-- or -->
    <item android:state_selected="true" android:drawable="@android:color/transparent" />
    <item android:drawable="@android:color/white" />
</selector>

StateListDrawableのさまざまなオプションを試してみてください。

于 2012-02-20T09:27:44.363 に答える