声明主题
<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