通过改变主题样式让Activity悬浮显示(类似与Dialog)

方法一

直接设置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);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值