Android studio上设置状态栏为透明 Android5.0

来源:互联网 发布:32淘宝 编辑:程序博客网 时间:2024/04/30 02:05

效果图:


方法一:

直接在你activity的onCreate()上面添加以下代码:

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//设置状态栏为透明if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {Window window = getWindow();window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);window.setStatusBarColor(Color.TRANSPARENT);window.setNavigationBarColor(Color.TRANSPARENT);}setContentView(R.layout.addcity_activity);

方法二:

创建values-v19文件夹,在此文件夹下创建style.xml,在xml上添加:

<resources>    <style name="AppTheme" parent="@style/AppBaseTheme">        <item name="android:windowTranslucentStatus">true</item>    </style></resources>

然后在你所需要的布局上面添加:

  android:fitsSystemWindows="true"  app:popupTheme="@style/ThemeOverlay.AppCompat.Light"


注:fitSystemWindows="true"要写在你说应用的toolbar上,不然你会发现状态栏会和toolbar挤在一起,不好看。


自己也是在网上看到大神们的解决方法,自己总结了一下,学习学习,我的已经解决。



1 0