我使用主题
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
但是对于CoordinatorLayour我需要自定义工具栏,而不是大多数顶级元素(大多数顶部将是折叠布局),所以我使用以下样式进行活动:
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
activity.xml中的工具栏
<android.support.v7.widget.Toolbar
android:id="@+id/ac_main_toolbar"
android:layout_width="match_parent"
android:layout_height="@dimen/action_bar_height"
tools:title="title"
app:theme="@style/AppTheme"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:layout_collapseMode="pin"/>
但它并没有填充AppTheme的颜色。看起来像这样
为什么呢?我需要工具栏中心的主题颜色和点。
答案 0 :(得分:0)
尝试将android:background =“@ color / primary”添加到工具栏定义中。 喜欢:
android.support.v7.widget.Toolbar
android:id="@+id/ac_main_toolbar"
android:layout_width="match_parent"
android:layout_height="@dimen/action_bar_height"
android:background="@color/primary"
tools:title="title"
app:theme="@style/AppTheme"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:layout_collapseMode="pin"/>
答案 1 :(得分:0)
在主题中添加以下内容:
<!-- toolbar title and overflow menu color -->
<item name="android:textColorSecondary">@color/white</item>
对于垂直居中对齐,您必须使用工具栏的高度,如下所示:
<android.support.v7.widget.Toolbar
android:id="@+id/ac_main_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" <!-- Height change -->
tools:title="title"
app:theme="@style/AppTheme"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:layout_collapseMode="pin"/>
答案 2 :(得分:0)
经过一些研究后我发现,工具栏主题不是AppCompat主题,而且应该是ThemeOverlay。*
对于黑暗的动作栏主题,我应该使用
<style name="BarTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
not from parent="Theme.AppCompat.Light.DarkActionBar"
这解决了所有颜色问题。
要修复标题和3个点(将其放在工具栏的中间) - AppBarLayout高度应为wrap_content(之前是固定大小),并且折叠大小(以像素为单位)应移至AppBarLayout下的CollapsingToolbarLayout。