1.设置style,在values文件夹下创建一个styles的文件,内容如下
<resources>
<style name="transparent_activity" parent="Theme.AppCompat.Dialog">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="android:windowNoTitle">true</item>
<!--是否去除标题 -->
<item name="windowNoTitle">true</item>
<!--是否去除边框-->
<item name="android:windowFrame">@null</item>
<!-- 背景透明 -->
<item name="android:background">#00000000</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="windowActionBar">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowIsTranslucent">true</item><!--半透明-->
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
</resources>
2.设置style样式,在manifest中
<activity
android:name=".activity.ScanActivity"
android:theme="@style/transparent_activity"
android:exported="false" />
如果想要动态设置窗口大小
//设置窗口大小
private void setDisplay() {
DisplayMetrics dm = new DisplayMetrics();
getWindow().getWindowManager().getDefaultDisplay().getMetrics(dm);
WindowManager.LayoutParams p = getWindow().getAttributes();
p.height =(int) (dm.heightPixels * 0.8);
p.width = (int) (dm.widthPixels * 0.8);
getWindow().setAttributes(p);
}
如果想要点击空白处不消失
在activity中设置
this.setFinishOnTouchOutside(false)