方法一
直接设置Activity主题为Dialog样式的主题
<activity android:name=".Main2Activity"
android:theme="@style/Theme.AppCompat.DayNight.Dialog">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
方法二
设置Activity主题为普通样式的主题,但是在样式中
使用属性
< item name=“android:windowIsFloating”>true< /item>
设置样式为悬浮状态
<activity android:name=".MainActivity"
android:theme="@style/AppTheme">
</activity>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowIsFloating">true</item> <!--用于让使用该主题的Activity作为悬浮窗口类似与Dialog展示在屏幕上-->
<item name="android:windowMinWidthMinor">100%</item> <!--用于设置次要窗口的最小宽度-->
<!-- <item name="android:windowMinWidthMajor">92%</item>-->
<!-- <item name="windowMaxWidthMajor">@dimen/miuix_appcompat_dialog_max_width_major</item>-->
</style>
同时若想要改变窗口在其容器中的位置可使用如下方法:
Window window = getWindow();
android.view.WindowManager.LayoutParams p = window.getAttributes();
p.gravity = Gravity.BOTTOM; // 这个用于设置让该窗口位于其容器的底部
window.setAttributes(p);