Android 开发 对话框Dialog dismiss和hide方法的区别

2025-05-19 10:24:07
推荐回答(1个)
回答1:

查看dialog.hide()注释:
Hide the dialog, but do not dismiss it
说明隐藏dialog视图并没视图移走
查看hide源码发现:
/**
* Hide the dialog, but do not dismiss it.
*/
public void hide() {
if (mDecor != null) {
mDecor.setVisibility(View.GONE);
}
}
视图设GONE
再看dismiss():
void dismissDialog() {
if (mDecor == null || !mShowing) {
return;
}

if (mWindow.isDestroyed()) {
Log.e(TAG, "Tried to dismissDialog() but the Dialog's window was already destroyed!");
return;
}

try {
mWindowManager.removeView(mDecor);
} finally {
if (mActionMode != null) {
mActionMode.finish();
}
mDecor = null;
mWindow.closeAllPanels();
onStop();
mShowing = false;

sendDismissMessage();
}
}

整结束掉视图调用onStop()

通我都调用dismisshide估计短暂消失使用吧