带有AppCompat-v7的透明Actionbar 21

lig*_*igi 15 android android-appcompat material-design

有没有办法通过Appcompat-v7 21使ActionBar在Material Design中透明?不幸的是,这不起作用.

  <item name="colorPrimary">@android:color/transparent</item>
Run Code Online (Sandbox Code Playgroud)

也不是旧的:

  <style name="Widget.Styled.ActionBar" parent="Widget.AppCompat.Light.ActionBar">
        <item name="android:background">@android:color/transparent</item>
  </style>
Run Code Online (Sandbox Code Playgroud)

Dan*_*ain 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>
Run Code Online (Sandbox Code Playgroud)

  • 修复:如果操作栏中有图标,则无效.将windowActionBarOverlay样式移动到AppTheme,它将适用于所有情况. (6认同)

san*_*o21 24

实际上,它非常简单易行.

  1. 只要确保你使用RelativeLayout奠定Toolbar和身体.
  2. 放在Toolbar最后.
  3. 为透明android:background属性添加透明色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>
Run Code Online (Sandbox Code Playgroud)

希望它回答这个问题.