1

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 的回收机制是否与此有关吗?谢谢你。

4

1 回答 1

1

不要将涟漪效应传递给列表中的每个项目,请尝试以下操作:

<ListView
        android:id="@+id/yourListView"
        ...
        android:listSelector="@drawable/ripple_background" />
于 2015-08-19T18:29:31.863 回答