要保证在 Dialog 遮挡时动画不停止,可以使用 WindowManager.LayoutParams 中的 FLAG_NOT_FOCUSABLE 标志来设置 Dialog 的属性。具体步骤如下:

  1. 创建一个自定义的 Dialog,并在构造方法中设置 WindowManager.LayoutParams 的属性。代码如下:
public class CustomDialog extends Dialog {

    public CustomDialog(Context context) {
        super(context);
        WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
        layoutParams.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
        getWindow().setAttributes(layoutParams);
    }
}
  1. 在 Activity 中引用 PAGView,并在需要显示 Dialog 的地方调用 CustomDialog 的 show() 方法。代码如下:
public class MainActivity extends AppCompatActivity {

    private CustomDialog mDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        PAGView pagView = findViewById(R.id.pag_view);
        // 设置 PAGView 的动画

        // 显示 Dialog
        mDialog = new CustomDialog(this);
        mDialog.show();
    }
}

通过设置 FLAG_NOT_FOCUSABLE 标志,可以保证 Dialog 不会获取焦点,从而不会影响 PAGView 的动画。

Android Activity 中使用 PAGView 时,如何在 Dialog 遮挡时保持动画播放?

原文地址: https://www.cveoy.top/t/topic/pS8s 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录