【发布时间】:2018-12-22 09:12:10
【问题描述】:
我有两个活动,第一个活动应该有一个黑色的状态栏,第二个活动应该有白色的操作栏。 那我该怎么做呢?
我想更改状态栏颜色,但不应将相同颜色应用于所有活动。
【问题讨论】:
标签: java android android-studio android-layout statusbar
我有两个活动,第一个活动应该有一个黑色的状态栏,第二个活动应该有白色的操作栏。 那我该怎么做呢?
我想更改状态栏颜色,但不应将相同颜色应用于所有活动。
【问题讨论】:
标签: java android android-studio android-layout statusbar
您可以使用以下代码更改状态栏的颜色:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(color);
}
【讨论】:
试试这个:
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
activity.getWindow()ow.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
activity.getWindow().setStatusBarColor(ContextCompat.getColor(activity,R.color.custom_color));
或者创建一个具有其他颜色的自定义主题并将其设置在第二个活动中:
public void onCreate(Bundle savedInstanceState) {
setTheme(android.R.style.CustomThemeWithOtherColors);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
【讨论】:
要更改状态栏颜色,请尝试以下方法
public static void statusBarColor(Context context, int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().setStatusBarColor(
darkenColor(
ContextCompat.getColor(activity, color)));
}
}
方法调用
statusBarColor(this,R.color.colorAccent);
【讨论】: