小编典典

如何使用支持库实现波纹动画?

all

我正在尝试在按钮单击时添加波纹动画。我确实喜欢下面,但它需要 minSdKVersion 到 21。

波纹.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:colorControlHighlight">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="?android:colorAccent" />
        </shape>
    </item>
</ripple>

按钮

<com.devspark.robototextview.widget.RobotoButton
    android:id="@+id/loginButton"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/ripple"
    android:text="@string/login_button" />

我想让它与设计库向后兼容。

如何做到这一点?


阅读 56

收藏
2022-08-03

共1个答案

小编典典

基本纹波设置

  • 视图中包含的涟漪。
    android:background="?selectableItemBackground"

  • 超出视图边界的涟漪:
    android:background="?selectableItemBackgroundBorderless"

查看此处以解决?(attr)Java 代码中的 xml
引用。

支持库

  • 使用?attr:(或?简写)而不是?android:attr引用支持库,因此可以返回到 API 7。

带有图像/背景的涟漪

  • 要拥有图像或背景并覆盖波纹,最简单的解决方案是将 a 包裹View在 aFrameLayout中,波纹设置为setForeground()or setBackground()

老实说,否则没有干净的方法可以做到这一点。

2022-08-03