如何利用支持库实现水波动画?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

我试图添加一个点击时的波纹效果。下面的代码虽然可以,但是需要minSdKVersion 21

ripple.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>

Button

<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" />

有什么办法吗?

提问于
用户回答回答于

基本的纹波设置

  • 视图中包含的涟漪。 android:background="?selectableItemBackground"
  • 超出视野界限的涟漪: android:background="?selectableItemBackgroundBorderless"

支持库

  • 使用?attr:(或?简写)而不是?android:attr引用支持库.

涟漪与图像/背景

  • 有一个图像或背景和重叠纹波最简单的解决方案是将View包裹在一个FrameLayout与设置的波纹setForeground()setBackground()

扫码关注云+社区