Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 对话框与隐藏/显示布局_Android_Android Layout_Android Activity - Fatal编程技术网

Android 对话框与隐藏/显示布局

Android 对话框与隐藏/显示布局,android,android-layout,android-activity,Android,Android Layout,Android Activity,如果你有一个活动,你需要显示一些有按钮的正方形叠加。为什么要在具有setVisibility的嵌套布局上使用对话框?反之亦然 如果您使用的是嵌套布局,则需要将该“对话框”中发生的事情的所有逻辑也放入活动中。另一方面,如果您有一个对话框,您可以将该逻辑放在单独的类中,这使得它更容易在其他地方重用(想想DatePickerDialog等)。此外,在显示对话框时,系统会自动进行着色和阻止UI的其余部分、处理后退按钮功能等工作 但通常,您也可以使用嵌套布局而不是对话框。您还可以通过实现自定义视图并将对话

如果你有一个活动,你需要显示一些有按钮的正方形叠加。为什么要在具有setVisibility的嵌套布局上使用对话框?反之亦然

如果您使用的是嵌套布局,则需要将该“对话框”中发生的事情的所有逻辑也放入活动中。另一方面,如果您有一个对话框,您可以将该逻辑放在单独的类中,这使得它更容易在其他地方重用(想想DatePickerDialog等)。此外,在显示对话框时,系统会自动进行着色和阻止UI的其余部分、处理后退按钮功能等工作


但通常,您也可以使用嵌套布局而不是对话框。您还可以通过实现自定义视图并将对话框逻辑放在其中来克服上述一些缺点。

因此我猜主要的两个分隔符是,使用dialog,它最好封装为单独的代码。但是使用嵌套布局,您可以在对话框显示时与背景活动交互。您也可以通过侦听器(与普通片段相同)从真实对话框(片段)与背景活动交互,但它需要更多样板代码。