第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > android状态栏自定义 如何自定义Android状态栏颜色

android状态栏自定义 如何自定义Android状态栏颜色

时间:2019-01-24 17:21:32

相关推荐

android状态栏自定义 如何自定义Android状态栏颜色

// 定义颜色值

private int[] statusColors = new int[]{R.color.color1_, R.color.color2_,

R.color.color3_, R.color.color4_, R.color.color5_};

// 设置Theme

setCurrentTheme(ContextCompat.getColor(MainActivity.this, statusColors[currentColor]));

private void setCurrentTheme(int statusColor) {

if (Build.VERSION.SDK_INT >= 21) {

getWindow().getDecorView().setSystemUiVisibility(

View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

getWindow().setStatusBarColor(statusColor);

} else if (Build.VERSION.SDK_INT >= 19 && Build.VERSION.SDK_INT < 21) {

WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();

localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS |

localLayoutParams.flags);

ViewGroup contentView = (ViewGroup) findViewById(android.R.id.content);

View statusBarView = contentView.getChildAt(0);

if (statusBarView != null && statusBarView.getMeasuredHeight() == getStatusBarHeight(this)) {

statusBarView.setBackgroundColor(statusColor);

return;

}

statusBarView = new View(this);

ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,

getStatusBarHeight(this));

statusBarView.setBackgroundColor(statusColor);

contentView.addView(statusBarView, lp);

}

}

// values-v19

false

true

true

true

//values-v21

false

true

true

@android:color/black

true

android:name=".MainActivity"

android:configChanges="orientation|screenSize"

android:label="@string/app_name"

android:launchMode="singleTask"

android:screenOrientation="portrait"

android:theme="@style/AppTheme.NoActionBar">

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。