使用 Theme.AppCompat.Light.DarkActionBar 时如何删除操作栏上方的白条
How to remove white bar above actionbar when using Theme.AppCompat.Light.DarkActionBar
我在将应用程序的主题设置为 Theme.AppCompat.Light.DarkActionBar 时遇到问题。出于某种原因,我的操作栏上方有一个白色栏。我该如何删除它?不幸的是,我不能给你看它的照片,因为我还没有被允许 post 图片。但它只是一个白色的空栏,与操作栏的标题相同。
我的 onCreate 方法现在看起来像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
if(PreferenceManager.getDefaultSharedPreferences(getBaseContext()).getString("theme_preference", "1").equals("AppTheme")) {
setTheme(R.style.AppTheme);
} else {
setTheme(R.style.DarkTheme);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_transmit);
AppTheme 是 Theme.AppCompat.Light.DarkActionBar,DarkTheme 是 Theme.AppCompat。
如何去除出现的白条?
没有图片我无法确定,但听起来你遇到了问题我刚刚想出了解决方法。白色栏是状态栏。从 android 5.0 开始,android 为状态栏提供与应用主题中的 colorPrimaryDark 相同的颜色。如果 colorPrimaryDark 等于白色,就像我的情况一样,并且需要这样,所有白色图标都会混合在一起,并在操作栏上方创建一个实心、丑陋的白色条。此线程:How to change the status bar color in android 包含一些手动更改颜色的方法。我选择使用这个:
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(getResources().getColor(android.R.color.black));
}
当我将 AppCompat.Light 主题的名称从 AppTheme 更改为 LightTheme 时,两个操作栏的问题消失了。我不知道为什么 android 只是因为主题的名称而表现得那样,但确实如此。我将名称从 AppTheme 更改为 LightTheme,问题消失了。
我在将应用程序的主题设置为 Theme.AppCompat.Light.DarkActionBar 时遇到问题。出于某种原因,我的操作栏上方有一个白色栏。我该如何删除它?不幸的是,我不能给你看它的照片,因为我还没有被允许 post 图片。但它只是一个白色的空栏,与操作栏的标题相同。
我的 onCreate 方法现在看起来像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
if(PreferenceManager.getDefaultSharedPreferences(getBaseContext()).getString("theme_preference", "1").equals("AppTheme")) {
setTheme(R.style.AppTheme);
} else {
setTheme(R.style.DarkTheme);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_transmit);
AppTheme 是 Theme.AppCompat.Light.DarkActionBar,DarkTheme 是 Theme.AppCompat。
如何去除出现的白条?
没有图片我无法确定,但听起来你遇到了问题我刚刚想出了解决方法。白色栏是状态栏。从 android 5.0 开始,android 为状态栏提供与应用主题中的 colorPrimaryDark 相同的颜色。如果 colorPrimaryDark 等于白色,就像我的情况一样,并且需要这样,所有白色图标都会混合在一起,并在操作栏上方创建一个实心、丑陋的白色条。此线程:How to change the status bar color in android 包含一些手动更改颜色的方法。我选择使用这个:
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP) {
getWindow().setStatusBarColor(getResources().getColor(android.R.color.black));
}
当我将 AppCompat.Light 主题的名称从 AppTheme 更改为 LightTheme 时,两个操作栏的问题消失了。我不知道为什么 android 只是因为主题的名称而表现得那样,但确实如此。我将名称从 AppTheme 更改为 LightTheme,问题消失了。