2017-12-07 12 views
0

私はListViewにカスタム行を持っています。ListView - タップされた行のハイライトカラー

row.setBackgroundColor(R.color.list_bg);

色を設定した後、私はタップ行のハイライトカラー/アニメーションを失うことだ:彼らは、異なる背景getView()メソッド内ArrayAdapterに設定された色を持っています。 背景に透明度を追加すると、ハイライトとアニメーションが表示されますが、これを解決する方法はありません。

どういうわけか "ハイライトカラー"を設定することはできますか?

答えて

1

色や画像でドロアブルを作成することで、行にカスタム背景を設定できます。以下のようなres/drawable/

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/colorPressEffect"/> 
     </shape> 
    </item> 
    <item android:state_pressed="false"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@android:color/transparent"/> 
     </shape> 
    </item> 
</selector> 

で描画可能を作り、ちょうどあなたがこの方法でクリック上の任意のアニメーションを実現することができ

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

は、より多くのあなたが置くあなたの行のレイアウト親layout.likeに背景として、この描画可能に設定drawableでの努力は、あなたがクリックでより多くを得るでしょう。

+0

ありがとうございます。それが私を助けました。今、波紋アニメーション効果を実装することもできました。 – Dusan

+0

ようこそDuson bro – Khemraj

関連する問題