Android ListFragment:如何启用 Lollipop "Ripple Effect"?
Android ListFragment: How to enable the Lollipop "Ripple Effect"?
我有一个 Activity,里面有一个 ListFragment(支持我的平板电脑布局,但这并不重要)。
现在我想为 ListFragment 启用涟漪效果。例如在另一个 activity 中,我只使用一个普通的 ListView,它会自动在那里工作。
如何以简单的方式做到这一点?
示例(不适用于 ListFragment,但您会明白这一点)
API 21+
在 Lollipop 中,您可以将视图背景设置为 RippleDrawable,您可以在 XML 中定义。
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@android:color/white"> <!-- ripple color -->
<item android:drawable="@android:color/black"/> <!-- normal color -->
</ripple>
然后将视图的背景设置为 android:background="@drawable/my_ripple"
前API 21
对于可以向后移植到旧版本 Android 的解决方案,以下 number of open source libraries 可提供此功能。
无需定义额外的连锁反应。如果你想在 API 21+ 应用
上激活标准连锁反应
android:background="?android:selectableItemBackground"
在列表项上。这将在 pre-API 21 设备上提供相同的类似选择器的效果,只是没有纹波。
我有一个 Activity,里面有一个 ListFragment(支持我的平板电脑布局,但这并不重要)。
现在我想为 ListFragment 启用涟漪效果。例如在另一个 activity 中,我只使用一个普通的 ListView,它会自动在那里工作。
如何以简单的方式做到这一点?
示例(不适用于 ListFragment,但您会明白这一点)
API 21+
在 Lollipop 中,您可以将视图背景设置为 RippleDrawable,您可以在 XML 中定义。
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@android:color/white"> <!-- ripple color -->
<item android:drawable="@android:color/black"/> <!-- normal color -->
</ripple>
然后将视图的背景设置为 android:background="@drawable/my_ripple"
前API 21
对于可以向后移植到旧版本 Android 的解决方案,以下 number of open source libraries 可提供此功能。
无需定义额外的连锁反应。如果你想在 API 21+ 应用
上激活标准连锁反应android:background="?android:selectableItemBackground"
在列表项上。这将在 pre-API 21 设备上提供相同的类似选择器的效果,只是没有纹波。