Android 工具栏的背景没有变透明

Android toolbar not getting its background transparent

我有一个带有工具栏和导航抽屉的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:layout_width="match_parent"
          android:layout_height="match_parent"
          android:background="@android:color/transparent"
          android:fitsSystemWindows="true"
          android:orientation="vertical"
          tools:context="com.my.app.GUI.MainActivity">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/mainBackground"
    android:contentInsetEnd="0dp"
    android:contentInsetLeft="0dp"
    android:contentInsetRight="0dp"
    android:contentInsetStart="0dp"
    app:contentInsetEnd="0dp"
    app:contentInsetLeft="0dp"
    app:contentInsetRight="0dp"
    app:contentInsetStart="0dp">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent">

        <FrameLayout
            android:id="@+id/frameLayoutTitleBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            android:padding="10dp">

            <ImageView
                android:id="@+id/imageViewHamburger"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:srcCompat="@drawable/icon_hamburger_menu"/>

            <TextView
                android:id="@+id/textViewToolbarTitle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/transparent"
                android:gravity="center"
                android:text="TITLE"
                android:textColor="@android:color/white"
                android:textSize="@dimen/very_large_font_size"/>

        </FrameLayout>

        <ImageView
            android:id="@+id/imageViewToolbarRightSide"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/frameLayoutTitleBar"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/frameLayoutTitleBar"
            android:layout_marginRight="10dp"
            android:visibility="invisible"
            app:srcCompat="@drawable/icon_hamburger_menu"/>

        <View
            android:id="@+id/viewTitleUnderLine"
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_alignParentBottom="true"
            android:background="@color/secondaryBackground"/>

    </RelativeLayout>

</android.support.v7.widget.Toolbar>

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

此所有布局稍后将作为 include 添加到另一个布局,其中包括导航抽屉的布局。

在我的代码中,我设置了图像、字符串以及工具栏的背景。 背景设置如下:

public static void setTitleBarBackgroundColor(int color)
{
    if(toolBar != null)
    {
        toolBar.setBackgroundColor(color);
    }
}
...
MyToolBarClass.setTitleBarBackgroundColor(getResources().getColor(android.R.color.transparent));

调用它时,颜色确实发生了变化,但工具栏(或其他东西)不是透明的,而是变成了类似于灰色的某种颜色,我还可以看到 3 个褪色的图标,分别是 2 个人,就像旧的 MSN 信使图标、聊天图标和滚轮设置图标,可能与工具栏一起提供。如果我将工具栏的颜色设置为其他颜色,则没有问题,它已设置为该颜色。

为什么工具栏背景不变为透明以便我可以看到下面的内容?

尝试删除主要线性布局或白色的背景。

我终于意识到工具栏确实变透明了,但问题是内容window在它下面,从我写的布局可以看出..内容window 在它下面,因为它在 LinearLayout 内。将 LinearLayout 更改为 FrameLayout 后,这意味着工具栏现在位于内容之上而不是内容之上,一切正常