我试图在某个时间在视图上(而不是在被触摸的视图上)发挥连锁反应(来自 Android L)。
具体来说,当用户成功更改某些文本时,我希望某个视图播放绿色波纹效果以显示成功。有什么办法可以做到这一点吗?
我尝试将 RippleDrawable 放入动画中,将 RippleDrawable 作为我的“成功视图”的背景。但是,我不知道如何播放我所描述的波纹动画。
附:我的项目目前只有Android L,所以我不担心向后兼容性。
由于您的掩码只是一个实心矩形,因此您可以将您的波纹 XML 简化为:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item android:id="@android:id/mask" android:drawable="@android:color/white" />
<item android:drawable="@drawable/file_item_selector"/>
</ripple>
您可以通过强制视图进入和退出按下状态来手动触发连锁反应。
myView.setPressed(true);
// For a quick ripple, you can immediately set false.
myView.setPressed(false);
// Or for a long ripple, you can post to a handler.
myView.postDelayed(new Runnable() {
public void run() {
myView.setPressed(false);
}
}, 500 /* delay in milliseconds */);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)