带有AppCompat-v7的透明Actionbar 21

时间:2014-10-19 16:06:27

标签: android android-appcompat material-design

有没有办法通过Appcompat-v7 21在Action Design中使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>

4 个答案:

答案 0 :(得分:25)

<!-- 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 :(得分:24)

实际上,它非常简单。

  1. 请确保使用RelativeLayout来放置Toolbar和身体。
  2. Toolbar放在最后。
  3. android:background
  4. Toolbar属性设置透明色

    这是工作代码的示例:

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

    希望它回答这个问题。

答案 2 :(得分:1)

<强>步骤:

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"/>

Output

答案 3 :(得分:0)

以上都没有为我做过这个伎俩(或者至少不是他们自己) 使用appcompat v7 23和CoordinatorLayout,这很可能是罪魁祸首。如果你要走这条路线,那么你可能有一个看起来像

的主要活动布局
<?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">-->
     ...

注意上面的两个布局锚线 - 那些是为我做的。