transparent Actionbar with AppCompat-v7 21

后端 未结 4 2046
借酒劲吻你
借酒劲吻你 2020-12-01 09:42

Is there a way to make the ActionBar transparent in Material Design via Appcompat-v7 21? This is not working unfortunately.

  

        
相关标签:
4条回答
  • 2020-12-01 10:15

    Actually, it's quite easy and simple.

    1. Just ensure that you use RelativeLayout to lay Toolbar and the body.
    2. Put the Toolbar in the last.
    3. Put transparent color for android:background attribute of the Toolbar

    This is an example of a working code:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 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"
        android:baselineAligned="false"
        android:orientation="vertical">
    
        <fragment
            android:id="@+id/fragment_editor"
            android:name="ichsan.myapp.HelloFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:layout="@layout/fragment_editor" />
    
        <android.support.v7.widget.Toolbar
            android:id="@+id/my_toolbar"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:minHeight="?attr/actionBarSize"
            android:background="#10000000"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
    
    </RelativeLayout>
    

    Hope it answers the question.

    0 讨论(0)
  • 2020-12-01 10:20

    Step:

    1. put below style into v21\styles.xml

    <style name="TransperantToolbar" parent="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <item name="android:windowActionBarOverlay">true</item>
        <item name="windowActionBarOverlay">true</item>
    </style>
    

    2. Your toolbar xml code

    <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:theme="@style/TransperantToolbar"/>
    

    0 讨论(0)
  • 2020-12-01 10:20

    None of the above did the trick for me (or at least not by themselves) using appcompat v7 23 and a CoordinatorLayout, which is most likely the culprit. If you are going that route, then you probably have a main activity layout that looks like

    <?xml version="1.0" encoding="utf-8"?>
    <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: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"/>
    
        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <!--android:theme="@style/AppTheme.AppBarOverlay">-->
         ...
    

    Notice the two layout anchor lines above - those did it for me.

    0 讨论(0)
  • 2020-12-01 10:29
    <!-- Application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    
        <!-- Support library compatibility -->
        <item name="actionBarStyle">@style/MyActionBar</item>
    </style>
    
    <!-- ACTION BAR STYLES -->
    <style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="android:background">@drawable/actionbar_background</item>
        <item name="android:windowActionBarOverlay">true</item>
    
        <!-- Support library compatibility -->
        <item name="background">@drawable/actionbar_background</item>
        <item name="windowActionBarOverlay">true</item>
    </style>
    
    0 讨论(0)
提交回复
热议问题