美文网首页
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