我需要找到对话框中某些元素的坐标。
但是在对话框显示在屏幕上之前,所有方法都返回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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句