安卓开发--部件

状态栏完全透明化,支持4.4以上系统

2017-06-06  本文已影响10人  qianshilingyao

1、activity  初始化view 前 

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){//4.4 全透明状态栏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

}

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {//5.0 全透明实现

Window window = getWindow();

window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

window.setStatusBarColor(Color.TRANSPARENT);//calculateStatusColor(Color.WHITE, (int) alphaValue)

}


2、使用没有noactionbar 的主题   

name="AppTheme.Base"parent="Theme.AppCompat.Light.NoActionBar"


3、定义styles

在默认的values 定义一个styles,name="android:layout_height">45dp,4.3以及以下的系统使用这个,高度一般是45dp--50dp

在其他的valus-v19  。。。。(目前最高sdk 7.1.1  values-v25),都放一个styles  name="android:layout_height">75dp

上一篇下一篇

猜你喜欢

热点阅读