Android transparent overlay toolbar

前端 未结 8 2043
[愿得一人]
[愿得一人] 2020-12-08 07:57

I created a ToolBar which I set as my ActionBar and I have it transparent, my question is I want it to overlay the rest of the content, right now i

相关标签:
8条回答
  • 2020-12-08 08:35

    You should set the transparency on the AppBarLayout instead of the Toolbar and remove the app:layout_behavior if you want it to overlay the content.

    0 讨论(0)
  • 2020-12-08 08:37

    In xml, the ordering of the layouts determine the "depth". By moving the toolbar below the other elements, it will overlay them.

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    
    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <!-- Main layout -->
        <FrameLayout
            android:id="@+id/main_fragment_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    
        <android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/toolbar"
        app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@android:color/transparent"/>
    
        <!-- Nav drawer -->
        <fragment
            android:id="@+id/fragment_drawer"
            android:name="rsay.android.scrollbanner.NavigationDrawerFragment"
            android:layout_width="@dimen/navigation_drawer_width"
            android:layout_height="match_parent"
            android:layout_gravity="left|start" />    
    
    </android.support.v4.widget.DrawerLayout>
    
    0 讨论(0)
  • 2020-12-08 08:40

    Maybe this can help you, Ryan.

    toolbar.getBackground().setAlpha(0);
    
    0 讨论(0)
  • 2020-12-08 08:43

    CollapsingToolbar introduced in support library 22.2.0 (May 2015), offers overlay effect by default:

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <android.support.design.widget.AppBarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/transparent">
    
                <android.support.v7.widget.Toolbar
                    android:layout_width="match_parent"
                    android:layout_height="?actionBarSize"/>
    
            </android.support.design.widget.AppBarLayout>
    
        </android.support.design.widget.CollapsingToolbarLayout>
    
    </android.support.design.widget.CoordinatorLayout>
    
    0 讨论(0)
  • 2020-12-08 08:48

    You are on right track. Simplest way you can do it is using FrameLayout where the content ViewGroup will match_parent while the Toolbar is on top of this ViewGroup

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
    
        <!-- This can be any child. For sample purposes I assume this layout contains fragments -->
        <LinearLayout  
            android:background="?attr/colorPrimary"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/fragment_container"
            android:orientation="horizontal"/>
    
    
        <android.support.v7.widget.Toolbar
           xmlns:app="http://schemas.android.com/apk/res-auto"
           android:id="@+id/toolbar"
           app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
           android:layout_width="match_parent"
           android:layout_height="200dp"
           android:minHeight="?attr/actionBarSize"
           android:background="@android:color/transparent">
            </android.support.v7.widget.Toolbar>
    
    </FrameLayout>
    
    0 讨论(0)
  • 2020-12-08 08:50

    After some exercise i make it happen. Hope it helps others. here, i set no elevation for appbarlayout

     <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:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/background_gradiant"
        android:fitsSystemWindows="true"
        tools:context=".activity.AddMembersActivity">
    
    
        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/transparent"
            app:elevation="0dp">
    
            <android.support.v7.widget.Toolbar
    
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize" />
    
        </android.support.design.widget.AppBarLayout>
    
    
        <include layout="@layout/content_add_member" />
    
    </android.support.design.widget.CoordinatorLayout>
    
    0 讨论(0)
提交回复
热议问题