Наслагването на лентата за действие не работи

Следвах официалното ръководство на разработчиците за наслагване на лентата с действия.

моят style.xml е следният:

<!-- Base application theme. -->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

<style name="AppTheme" parent="AppBaseTheme">
    <item name="actionBarStyle">@style/CustomActionBarTheme</item>

</style>

<style name="CustomActionBarTheme"
    parent="@android:style/Theme.Holo">
    <item name="android:windowActionBarOverlay">true</item>
</style>

Моята midSdkVersion е 14 и очакваният резултат е подобен на този в официалното ръководство: въведете описание на изображението тук.

вместо това в моя случай резултатът е: въведете описание на изображението тук

(Задал съм цвят на фона на активност...но той не се наслагва върху лентата с действия.)

Моля, помогнете ми, ако нещо, което правя, не е наред.

РЕДАКТИРАНЕ:

Исках подобна лента за действие като тази в airnb и много други приложения. Може ли някой да ми даде пълен отговор за това?

въведете описание на изображението тук


person Krupal Shah    schedule 18.01.2015    source източник
comment
Моля, проверете файла на манифеста. Може да използвате грешна тема вместо CustomActionBarTheme.   -  person Shreyash Mahajan    schedule 10.02.2015
comment
@iDroidExplorer можеш ли да напишеш пълен отговор с код? Ще го оценя. Благодаря.   -  person Krupal Shah    schedule 10.02.2015
comment
настройвате лентата за действие да бъде насложена, но не сте задали фонът на лентата за действия да бъде прозрачен. опитайте да добавите <item name="android:background">@drawable/actionbar_background</item> с @drawable/actionbar_background е полупрозрачно png изображение   -  person am05mhz    schedule 12.02.2015
comment
@Krupal може ли да актуализирате въпроса си с кода на вашия манифестен файл, за да мога да разбера нещо, за което питам...   -  person Shreyash Mahajan    schedule 12.02.2015


Отговори (6)


Виждам някои недоразумения във вашия код:

  1. windowActionBarOverlay трябва да се посочи във вашата тема, а не в стила на вашия ActionBar.
  2. Няма причина да използвате Holo с тема за поддръжка. Това просто нарушава възможността ви за поддръжка.

Опитайте тази:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:windowActionBarOverlay">true</item>
    <!--For compatibility-->
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="windowActionBarOverlay">true</item>
</style>

<color name="transparent_black">#80000000</color>
<style name="MyActionBar" parent="Widget.AppCompat.ActionBar.Solid">
    <item name="android:background">@color/transparent_black</item>
    <!--For compatibility-->
    <item name="background">@color/transparent_black</item>
</style>
person Simas    schedule 20.01.2015
comment
Не съм съгласен с първата ви точка. защото ясно се споменава, че темата трябва да бъде деклариран като стил и можете да я използвате, както е показано по-долу: developer.android.com/guide/topics/ui/themes.html#ApplyATheme - person Shreyash Mahajan; 10.02.2015
comment
Използвах вашето решение и то работи добре. Но заглавието от ActionBar го няма. Можете ли да помогнете с това? - person Bugs Happen; 23.04.2015
comment
това е просто перфектно! - person Hossam Alaa; 13.05.2016
comment
добавете подложка към оформлението android:paddingTop=?android:attr/actionBarSize - person N.Droid; 28.06.2016
comment
Частта „За съвместимост“ свърши работа, дори когато работи на устройство с API версия 23.. активността на цял екран по подразбиране, генерирана от android studio, не добави това! - person Bruce; 18.09.2016

мисля, че пропускате тази точка от ръководството за програмисти

Активиране на режим на наслагване

Само за Android 3.0 и по-нова версия

style.xml

<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.Holo">
        <item name="android:windowActionBarOverlay">true</item>
    </style>
</resources>

За Android 2.1 и по-нова версия

<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.AppCompat">
        <item name="android:windowActionBarOverlay">true</item>

        <!-- Support library compatibility -->
        <item name="windowActionBarOverlay">true</item>
    </style>
</resources>

Посочете горно поле на оформлението

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="?android:attr/actionBarSize">
    ...
</RelativeLayout>

и имам две примерни връзки. Моля, погледнете ги за повече разяснения.

Урок за Android: наслагване с потребителски инструкции

Издигане на ActionBar до следващото ниво

person Lokesh    schedule 11.02.2015
comment
Идеално, ако някой използва плъзгащи се раздели и иска да покаже и скрие ActionBar при превъртане, ключът тук е android:paddingTop="?android:attr/actionBarSize" - person Skynet; 20.04.2015

Опитайте това вместо това:

<style name="AppBaseTheme" parent="android:style/Theme.Holo.Light.DarkActionBar">
</style>

<style name="OverlayActionBarTheme" parent="AppBaseTheme">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:actionBarStyle">@style/Holo.ActionBar.Overlay</item>
</style>

<style
    name="Holo.ActionBar.Overlay"
    parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">#80000000</item>
</style>
person LEO    schedule 20.01.2015

След два часа търсене се чувствам длъжен да добавя този отговор тук.

Това, което ми помогна, беше да добавя всичките 6 от следните редове към styles.xml:

    <item name="android:windowActionModeOverlay">true</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowActionBar">true</item>

    <item name="windowActionModeOverlay">true</item>
    <item name="windowActionBarOverlay">true</item>
    <item name="windowActionBar">true</item>

Доколкото разбирам, всички тези редове правят едно и също нещо, но различните нива на API слушат само определени редове. Трябва да спомена, че използвам минимум API ниво 19.

person Andy Ef    schedule 20.05.2018

Току-що сте пропуснали, че трябва да настроите наслагването в темата на вашето приложение, както е казано в документ

 <!-- the theme applied to the application or activity -->

Моля, дайте обратна връзка, ако проблемът не се реши с това ;)

person Ektos974    schedule 12.02.2015

Правя изцяло персонализирани изгледи, така че оформлението на дейността ще запълни целия екран и ще постави персонализиран LinearLayout в горната част с всички бутони и икони, раздути

person Iliiaz Akhmedov    schedule 11.02.2015