工具栏表现得很奇怪
Toolbar behaving really strangely
在我的应用程序中,我现在有两个活动。第一个 LoginActivity,以 Theme.AppCompat.Light.DarkActionBar
为主题。另一个 ClientesActivity,有一个 <item name="windowActionBar">false</item>
和一个自定义 android.support.v7.widget.Toolbar
。他们过去行为正确。当我更新到 Build Tools 27.0.1、Gradle 3.0.1 和 Support Library 27.0.2,他们开始看起来像这样:
登录活动
ClientesActivity
代码如下:
styles.xml
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:background">#FAFAFA</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppThemeNoBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
clientes_activity.xml
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/AppThemeNoBar"
tools:context="melamed.soldeloesteapp.ClientesActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/tb_clientes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_clientes"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:title="Carrito">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<!-- Some more irrelevant stuff -->
</RelativeLayout>
</android.support.design.widget.CoordinatorLayout>
请有人告诉我如何修复它们!
PS: 它们是蓝色和白色文本,就像任何工具栏一样(自定义工具栏有白色按钮)。
好的,我在删除东西时自己找到了解决方案。我发现从某些支持库版本中,样式中的 android:background
仅影响工具栏(WTF?)。我删除了 <item name="android:background">#FAFAFA</item>
它奏效了。现在,如何从主题中默认背景颜色? (在评论里回答,cba对此提出一个全新的问题)
在我的应用程序中,我现在有两个活动。第一个 LoginActivity,以 Theme.AppCompat.Light.DarkActionBar
为主题。另一个 ClientesActivity,有一个 <item name="windowActionBar">false</item>
和一个自定义 android.support.v7.widget.Toolbar
。他们过去行为正确。当我更新到 Build Tools 27.0.1、Gradle 3.0.1 和 Support Library 27.0.2,他们开始看起来像这样:
登录活动
ClientesActivity
代码如下:
styles.xml
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:background">#FAFAFA</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppThemeNoBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
clientes_activity.xml
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/AppThemeNoBar"
tools:context="melamed.soldeloesteapp.ClientesActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/tb_clientes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_clientes"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:title="Carrito">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<!-- Some more irrelevant stuff -->
</RelativeLayout>
</android.support.design.widget.CoordinatorLayout>
请有人告诉我如何修复它们!
PS: 它们是蓝色和白色文本,就像任何工具栏一样(自定义工具栏有白色按钮)。
好的,我在删除东西时自己找到了解决方案。我发现从某些支持库版本中,样式中的 android:background
仅影响工具栏(WTF?)。我删除了 <item name="android:background">#FAFAFA</item>
它奏效了。现在,如何从主题中默认背景颜色? (在评论里回答,cba对此提出一个全新的问题)