更改AppBarLayout的样式

时间:2018-06-22 09:51:51

标签: android

我想更改AppbarLayout的样式。我已经为AppBarLayout分配了一种样式以更改背景色和文本颜色,但是AppBarLayout不接受。

我的活动是这样的:

<android.support.v4.widget.DrawerLayout 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/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false"
tools:context=".MainActivity">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?android:attr/actionBarSize"
            android:elevation="4dp"
            android:theme="@style/Toolbar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            android:background="@color/colorPrimary"/>

    </android.support.design.widget.AppBarLayout>

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="false"
    app:menu="@menu/drawer_view"
    app:headerLayout="@layout/nav_header"/>
</android.support.v4.widget.DrawerLayout>

我的应用栏样式如下:

    <style name="App" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowAnimationStyle">@null</item>
    <item name="windowActionModeOverlay">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="toolbarNavigationButtonStyle">@style/ToolbarNavigationButtonStyle</item>
    <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
</style>

<!-- Appbar -->
<style name="AppBar" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:background">@android:color/holo_red_light</item>
</style>

如何更改AppBarLayout的样式?我是否需要以Widget样式定义其属性,例如Widget.AppBarLayout.xxxx?

0 个答案:

没有答案