透明的ActionBar与AppCompat-V7 21

有没有办法让通过Appcompat-v7 21在材料devise中透明的ActionBar? 这不是不幸的工作。

<item name="colorPrimary">@android:color/transparent</item> 

也不是老的:

  <style name="Widget.Styled.ActionBar" parent="Widget.AppCompat.Light.ActionBar"> <item name="android:background">@android:color/transparent</item> </style> 

Solutions Collecting From Web of "透明的ActionBar与AppCompat-V7 21"

 <!-- 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> 

其实这很简单

  1. 只要确保您使用RelativeLayout来放置Toolbar和正文。
  2. Toolbar放在最后。
  3. Toolbar android:background属性添加透明颜色

这是一个工作代码的例子:

 <?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> 

希望它回答这个问题。

步:

1.将下面的样式放入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.你的工具栏的xml代码

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

产量

以上都没有使用appcompat v7 23和一个最有可能是罪魁祸首的CoordinatorLayout为我(或至less不是自己)做的伎俩。 如果你正在走这条路线,那么你可能有一个主要的活动布局,看起来像

 <?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">--> ... 

注意上面的两条布线锚点线 – 这对我来说是这样做的。