美文网首页
Android设置Dialog主题的Activity

Android设置Dialog主题的Activity

作者: CoderCyl | 来源:发表于2019-12-06 16:35 被阅读0次
    声明主题
    <style name="dialogActivityTheme" parent="Theme.AppCompat.Light.Dialog">
      <!--设置dialog的背景-->
      <item name="android:windowBackground">@android:color/transparent</item>
      <!--设置Dialog的windowFrame框为无-->
      <item name="android:windowFrame">@null</item>
      <!--设置无标题-->
      <item name="windowNoTitle">true</item>
      <!--是否浮现在activity之上,设置成true在部分机型上高度可能显示不全-->
      <item name="android:windowIsFloating">false</item>
      <!--是否半透明-->
      <item name="android:windowIsTranslucent">true</item>
      <!--设置窗口内容不覆盖-->
      <item name="android:windowContentOverlay">@null</item>
      <!--设置动画-->
      <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
      <!--背景是否模糊显示-->
      <item name="android:backgroundDimEnabled">true</item>
    </style>
    
    设置主题给Activity
    <activity
      android:name="com.android.XXActivity"
      android:theme="@style/dialogActivityTheme"/>
    

    如果喜欢的话还可以给Activity设置宽高

    WindowManager.LayoutParams lp = getWindow().getAttributes();
    lp.width = DensityUtils.getScreenWidth(this) /2; // 屏幕宽度的一半
    lp.height = DensityUtils.getScreenHeight(this) / 2; // 屏幕高度的一半
    getWindow().setAttributes(lp); // 设置参数给window
    

    Activity默认是屏幕居中显示,通过gravity属性可以设置位置

    lp.gravity = Gravity.START; // 屏幕左边显示,可设置Gravity其他参数
    

    通过设置 x , y 来调整具体位置

    lp.x = 20; // 向右移动20px
    lp.y = 20; // 向下移动20px
    

    相关文章

      网友评论

          本文标题:Android设置Dialog主题的Activity

          本文链接:https://www.haomeiwen.com/subject/aceegctx.html