Android 重置视图的按下状态
我有一个基于视图的布局(没有片段,只有一个活动),并在不同的状态之间设置动画。为了获得更好的平滑度,我使用了两个工具栏并对它们进行交叉淡入淡出 问题是,如果我按下一个工具栏的导航按钮并启动crossfade动画,导航按钮不会恢复其未按下状态(可能是由于动画),导致选择器不会消失。。。当我现在重新显示此工具栏时,导航按钮看起来被按下(ripple drawable仍然可见) 我可以手动清除ripple动画吗 我尝试的 我得到如下工具栏导航视图:Android 重置视图的按下状态,android,animation,view,ripple,Android,Animation,View,Ripple,我有一个基于视图的布局(没有片段,只有一个活动),并在不同的状态之间设置动画。为了获得更好的平滑度,我使用了两个工具栏并对它们进行交叉淡入淡出 问题是,如果我按下一个工具栏的导航按钮并启动crossfade动画,导航按钮不会恢复其未按下状态(可能是由于动画),导致选择器不会消失。。。当我现在重新显示此工具栏时,导航按钮看起来被按下(ripple drawable仍然可见) 我可以手动清除ripple动画吗 我尝试的 我得到如下工具栏导航视图: 我尝试清除视图的动画:toolbarNavigati
toolbarNavigationView.clearAnimation()
ViewCompat.jumpDrawablesToCurrentState(toolbarNavigationView)重置可绘图文件代码>
toolbar.post(new Runnable()
{
@Override
public void run()
{
ViewCompat.jumpDrawablesToCurrentState(toolbarNavigationView);
}
});
尝试获取动画并将其重置,如下所示:
Animation anim = yourView.getAnimation();
if (anim != null) {
yourView.reset();
}
yourView.clearAnimation();
此黑客使用android:background=“?attr/selectableItemBackground”清除视图的触摸动画(在API 24上测试,支持库26.0.0):
view.setVisibility(View.INVISIBLE);
view.setVisibility(View.VISIBLE);