一丶首先获取Activity的Window对象,将Activity所属的Window设置为一个像素大小
// 设置透明沉浸状态栏
if (Build.VERSION.SDK_INT>=21)
{
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE); //使背景图与状态栏融合到一起,这里需要在setcontentview前执行
getWindow().setStatusBarColor(Color.TRANSPARENT);
}
setContentView(R.layout.activity_main);
//设置1像素
Window window = getWindow();
window.setGravity(Gravity.LEFT | Gravity.TOP);
WindowManager.LayoutParams params = window.getAttributes();
params.x = 0;
params.y = 0;
params.height = 1;
params.width = 1;
window.setAttributes(params);
二丶然后新建一个透明主题
<style name="TranslucentActivity" parent="Theme.AppCompat.Light.NoActionBar">//无标题
<item name="android:windowIsTranslucent">true</item>//透明
</style>
最后在AndroidMainfest中给这个Activity设置这个主题就可以了。
android:theme="@style/TranslucentActivity">