Android设置Dialog主题的Activity

声明主题
<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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容