Прозрачен ActionBar с помощта на CoordinatorLayout

Използвам CoordinatorLayout, за да създам ефект на паралакс в моята дейност с подробности, но ActionBar не е прозрачен, имам предвид изгледът на изображението, който съм добавил към CollapsingToolbarLayout, не се показва като фон на ActionBar, както тук:

Пример

По този начин не мога да имам бутона за връщане назад, за да отида до родителската дейност. Освен това моята лента на състоянието също не става прозрачна, но вероятно защото устройството ми работи с Android 4.4.4 (нали?).

Какво мога да направя, за да поправя поне нещо с ActionBar?

Ето как протича дейността ми в момента:

<?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"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".ui.BookActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="210dip"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginStart="48dp"
            app:expandedTitleMarginEnd="64dp"
            android:fitsSystemWindows="true"
            android:id="@+id/collapsing_toolbar">

            <com.facebook.drawee.view.SimpleDraweeView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_collapseMode="parallax"
                android:id="@+id/imageViewProfile"
                fresco:placeholderImage="@mipmap/hq_item_background"
                fresco:placeholderImageScaleType="centerCrop"
                android:fitsSystemWindows="true"
                />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:popupTheme="@style/AppTheme.PopupOverlay"
                android:fitsSystemWindows="true"
                app:layout_collapseMode="pin">


            </android.support.v7.widget.Toolbar>

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_book" /> <!-- Just a LinearLayout with random content -->


</android.support.design.widget.CoordinatorLayout>

person Juliano Nunes Silva Oliveira    schedule 11.01.2016    source източник
comment
Възможен дубликат на Material Design Transparent ActionBar   -  person piotrek1543    schedule 11.01.2016


Отговори (3)


Моля, проверете този отговор, взет от: Material Design Transparent ActionBar

Просто трябва да поставите <item name="colorPrimary">@android:color/transparent</item> и да зададете windowActionBarOverlay на true в темата на вашето приложение по следния начин:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="android:textColorPrimary">@color/my_text_color</item>
        <item name="colorPrimary">@android:color/transparent</item>
        <item name="windowActionBarOverlay">true</item>
    </style>

</resources>

Крайният резултат трябва да изглежда така:

крайен резултат от кода

Би трябвало да работи

person piotrek1543    schedule 11.01.2016

задайте app:contentScrim="@color/colorPrimary" на app:contentScrim="@android:color/transparent"

in

<android.support.design.widget.CollapsingToolbarLayout

същото като по-горе, ако искате лентата на състоянието да е прозрачна

person Rajesh    schedule 11.01.2016

Благодаря за другите отговори, но правилното решение на проблема ми беше да използвам темата Theme.AppCompat.Light.NoActionBar и да задам android.support.v7.widget.Toolbar като ActionBar, като това:

setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
person Juliano Nunes Silva Oliveira    schedule 11.01.2016