我需要找到 dialog 的一些元素的坐标.
但在对话框显示在屏幕上之前,所有方法都返回 0。
我如何才能知道对话框何时显示在屏幕上?
我的意思是在 dialog.show() dialog.isShowing() 返回 true 之后,但是
int width=mDialog.getWindow().getDecorView().getWidth();
返回 0
最佳答案
如果您需要确定对话框何时显示在屏幕上,您可以尝试通过 setOnShowListener 监听 onShow 事件:
final AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
int width = alertDialog.getWindow().getDecorView().getWidth();
Toast.makeText(getApplicationContext(), String.valueOf(width) Toast.LENGTH_LONG).show();
}
});
alertDialog.show();
关于Android 找出对话框何时显示在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21761223/