appcompat v7 23,动作栏,透明度

时间:2016-01-13 13:27:38

标签: android android-layout android-5.0-lollipop android-actionbar-compat

我想我全力以赴地回答了问题。我觉得我被Android L搞得了......似乎无论我做什么,动作栏的背景仍默认为User

layout.xml

colorPrimary

styles.xml(v21)

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"          android:id="@+id/dl_main"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CoordinatorLayout
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.farmdog.farmdog.MainActivity">

        <android.support.v4.view.ViewPager
            android:id="@+id/container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_anchor="@+id/appbar"
            app:layout_anchorGravity="top"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
        <!--layout_behavior="TransparentScrollingViewBehavior"/>-->

        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <!--android:theme="@style/AppTheme.AppBarOverlay">-->

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingTop="8dp"
                android:paddingBottom="8dp"
                app:layout_scrollFlags="scroll|enterAlways"/>
            <!--android:background="?attr/colorPrimaryDark"-->
                <!--app:theme="@style/AppTheme.AppBarOverlay">-->
                <!--android:layout_height="?attr/actionBarSize"-->
                <!--app:popupTheme="@style/AppTheme.PopupOverlay"-->
        </android.support.design.widget.AppBarLayout>
........

2 个答案:

答案 0 :(得分:4)

我认为你是以错误的方式做的。我的意思是,以下工具栏没有任何 PrimaryColor 甚至背景:

<android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingTop="8dp"
                android:paddingBottom="8dp"
                app:layout_scrollFlags="scroll|enterAlways"/>

            <!--android:background="?attr/colorPrimaryDark"-->
                <!--app:theme="@style/AppTheme.AppBarOverlay">-->
                <!--android:layout_height="?attr/actionBarSize"-->
                <!--app:popupTheme="@style/AppTheme.PopupOverlay"-->

因此,这仅适用于(v21)版本,不带任何背景或PrimaryColor。正如您所见,工具栏将与您的Activity Theme类似那有:

 <item name="colorPrimary">@color/colorPrimary</item>

。通过

Theme.AppCompat.Light.DarkActionBar

并且,如果您没有设置任何背景颜色或 PrimaryColor ,因为:

 Theme.AppCompat.Light.DarkActionBar

和您的Toolbar 必须像那样

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">@color/colorPrimary</item>

否则,它应该崩溃(我猜,不确定),因为你有一个DarkActionBar的主题和一个没有背景的工具栏。

我认为这是问题!

修改

为了完成答案,既然这段代码很简单,我会在这里添加:

也可以在AppBarLayout

中添加此项
android:theme

答案 1 :(得分:0)

受到Mohsen回答的启发,我做了以下事情:

  • 使用父Theme.AppCompat.Light.NoActionBar

    定义名为AppTheme的主题
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    
  • 在AndroidManifest.xml中,我将 AppTheme 指定为android:theme

    机器人:主题= “@风格/ AppTheme”

  • 为AppBarLayout创建另一个名为CollapsingToolbarTheme的主题,主题为Theme.AppCompat.Light.NoActionBar

    <item name="colorPrimary">@color/transparent</item>
    <item name="colorPrimaryDark">@color/dark</item>
    <item name="colorAccent">@color/colorAccent</item>
    
  • 最后,我将新的 CollapsingToolbarTheme 指定为AppBarLayout的主题

    机器人:主题= “@风格/ CollapsingToolbarTheme”