使用
<activity
android:name="YourActivity"
android:screenOrientation="portrait"
android:theme="@style/transcutestyle" />
<style name="transcutestyle" parent="Theme.AppCompat.Dialog">
<item name="android:windowFrame">@android:color/transparent</item><!--边框-->
<item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
<item name="android:windowIsTranslucent">true</item><!--半透明-->
<item name="android:windowNoTitle">true</item><!--无标题-->
<item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<item name="android:backgroundDimAmount">0.6</item>
<item name="android:windowAnimationStyle">@null</item>
</style>
Activity使用Dialog样式导致点击空白处自动关闭的问题
YourActivity.this.setFinishOnTouchOutside(false);
改变其在屏幕中的位置
默认Activity窗口弹出是在屏幕的正中央。可通过覆写Activity中onAttachedToWindow()方法指定位置
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
View view = getWindow().getDecorView();
WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams();
lp.gravity = Gravity.TOP;
getWindowManager().updateViewLayout(view, lp);
}