如何在Android中更改涟漪效果的持续时间?

5
我已经在安卓中实现了水波纹效果。 使用以下代码:-
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#ff00ff00">
    <item android:drawable="@android:color/black" />
</ripple>

将其设置为TextView的背景。
android:background="@drawable/ripple_over_drawable"

但问题是水波纹动画非常快,我想要减慢它的速度。


有解决方案吗? - karthik kolanji
@karthikkolanji 不记得了,我想我没有。 - Rakesh Yadav
3个回答

4
你可以通过将此设置为视图的背景来实现相同的效果:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:enterFadeDuration="400"
    android:exitFadeDuration="500">
    <item
        android:state_pressed="true">
        <shape>
            <solid android:color="@color/chrome_grey" />
        </shape>
    </item>
    <item>
        <shape>
            <solid android:color="@android:color/white"/>
        </shape>
    </item>
</selector>

1
可绘制对象可以做的比我想象的多!好答案。 - Maharkus

0

我使用过一个叫做RippleEffect的库。

它非常易于使用,并提供了许多修改和自定义选项。

app:rv_rippleDuration [integer def:400] --> 波纹动画的持续时间

你可以尝试各种不同的选项。


-3

使用以下代码实现涟漪效果:

ripple_over_drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item><shape>
    <stroke android:width="1dp" android:color="#FFF" />

    <solid android:color="@color/color" />

    <corners
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
        android:topLeftRadius="0dp"
        android:topRightRadius="0dp" />
</shape></item>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="#ffff0000" />
</selector>

这里使用哪个标签来表示持续时间? - Rakesh Yadav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接