如何将 Activity 显示为对话框而不是新屏幕?
How to show an Activity as a dialog box rather than a new screen?
我对此很陌生。我做了2个活动。从 Activity A 我希望能够打开 Activity B 作为对话框 window 而不是它接管屏幕。我想出了如何制作一个对话框,但它的功能似乎需要编程到同一个 Activity Java 文件中。我想将我的代码分开。
有没有办法显示包含另一个 activity 及其所有编码功能的对话框 window?
从清单中设置 activity B 主题。
<activity android:theme="@android:style/Theme.Dialog" />
是的,您必须在清单中进行一些更改。
你可以参考这个,因为你的问题已经被问过了:
android activity as a dialog
在您的 AndroidManifest 清单文件中定义您的 activity,如下所示:
<activity android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true" />
并且如果您希望当用户在其外部单击时您的 activity 不可取消,只需在 onCreate 方法内的 Activity.Java 文件中添加以下行:
this.setFinishOnTouchOutside(false);
为 activity 尝试以下操作:
在activity中调用
设置主题
setTheme(R.style.AppTheme_DialogTheme)
并创建相应的样式:
<style name="AppTheme.DialogTheme"
parent="Base.Theme.AppCompat.Light.Dialog.FixedSize">
<!-- removing the dialog's action bar -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="windowFixedHeightMajor">400dp</item>
<item name="windowFixedHeightMinor">400dp</item>
</style>
我对此很陌生。我做了2个活动。从 Activity A 我希望能够打开 Activity B 作为对话框 window 而不是它接管屏幕。我想出了如何制作一个对话框,但它的功能似乎需要编程到同一个 Activity Java 文件中。我想将我的代码分开。
有没有办法显示包含另一个 activity 及其所有编码功能的对话框 window?
从清单中设置 activity B 主题。
<activity android:theme="@android:style/Theme.Dialog" />
是的,您必须在清单中进行一些更改。
你可以参考这个,因为你的问题已经被问过了:
android activity as a dialog
在您的 AndroidManifest 清单文件中定义您的 activity,如下所示:
<activity android:theme="@android:style/Theme.Dialog"
android:excludeFromRecents="true" />
并且如果您希望当用户在其外部单击时您的 activity 不可取消,只需在 onCreate 方法内的 Activity.Java 文件中添加以下行:
this.setFinishOnTouchOutside(false);
为 activity 尝试以下操作: 在activity中调用
设置主题setTheme(R.style.AppTheme_DialogTheme)
并创建相应的样式:
<style name="AppTheme.DialogTheme"
parent="Base.Theme.AppCompat.Light.Dialog.FixedSize">
<!-- removing the dialog's action bar -->
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="windowFixedHeightMajor">400dp</item>
<item name="windowFixedHeightMinor">400dp</item>
</style>