在PopupWindow消失时手动取消水波纹效果。
代码示例:
private PopupWindow mPopupWindow; private Button mButton;
// 初始化PopupWindow private void initPopupWindow() { // 省略部分代码 mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { cancelRippleEffect(); } }); }
// 模拟水波纹效果 private void simulateRippleEffect() { // 省略部分代码 }
// 取消水波纹效果 private void cancelRippleEffect() { // 省略部分代码 }
// 显示PopupWindow private void showPopupWindow() { // 省略部分代码 simulateRippleEffect(); // 开始水波纹效果 mPopupWindow.showAtLocation(mButton, Gravity.CENTER, 0, 0); }