我有一个PopupWindow,它使用带有单个Button
的自定义布局。
CCD_ 2具有被设置为具有波纹效应的CCD_。如果没有调用dismiss
,则涟漪效应效果良好。
当我从OnClickListener
调用popwindwindow上的dismiss
时,纹波效应在消除的中途被中断。你可以从波纹中看到圆圈,但当弹出窗口逐渐消失时,它并没有到达边缘,波纹在一半时被打断,当弹出窗口渐渐消失时,你可以看到一个圆圈。
这就好像解除是在中途停止动画。有人知道我为什么以及如何修复它吗?
我遇到了这个问题,花了两周的时间才解决。是的,弹出窗口是罪魁祸首,action disse((停止/清除所有挂起的动画。
以下是我在自定义弹出窗口中单击项目时所做的显示连锁反应的操作
// Define click listener for the ViewHolder's View.
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ViewCompat.postOnAnimationDelayed(v, new Runnable()
{
@Override
public void run()
{
Log.i("test", "Position: "+position);
// Perform Action
}
}, 150); // Delay the onClick action
}
});
这将使onClick操作延迟150微秒,这将允许在弹出窗口触发disse((之前产生连锁反应。
必须调整onClick延迟/持续时间和取消淡入淡出动画持续时间,才能使其按预期工作。