要素ListView
を使用して、内部の各アイテムに波及効果を実装しました。<ripple>
の各項目をタッチ(選択)すると、希望の波及効果が得られましたListView
。しかし、スクロールしてListView
アイテムを再度選択すると、リップルは非常に速く消えます (ほとんど目立ちません)。ListView
波紋が一部のアイテムではきれいに表示され、一部のアイテムでは非常に奇妙に 表示される理由はわかりません。
カスタマイズしたリップル レイアウトを以下に示します (ripple_background.xml)。
<ripple
xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/light_black_overlay">
<item>
<shape
android:shape="rectangle">
<solid android:color="@android:color/background_light" />
</shape>
</item>
</ripple>
中のアイテムのレイアウトListView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="48dp"
android:minHeight="?android:listPreferredItemHeight"
android:orientation="horizontal"
android:background="@drawable/ripple_background"> <!--My ripple layout-->
<TextView
android:id="@+id/someText
android... />
<ImageView
android:id="@+id/someImage
android... />
</RelativeLayout>
あなたの内部でこの種の奇妙な波及効果に直面した人はいますListView
か? ListView のリサイクル メカニズムがこれで何かをしなければならないかどうか、何か考えはありますか? ありがとうございました。