Показать ImageView частично за прозрачным ActionBar

Приложение Google Maps имеет прозрачный ActionBar, через который видна карта.

Я могу установить прозрачность ActionBar, используя это:


    @style/ActionBar



    #64000000

Но как я могу показать свой ImageView за ActionBar?

 hguser29 окт. 2013 г., 08:37
@ Niek: ты сделал это?

Ответы на вопрос(3)

но только для определенных действий при использовании сплошной в остальных, возможно, стоит создать два разных стиля и использовать манифест для получения контроля над ней:

<style name="MyThemeOverlay" parent="Theme.Sherlock">
    ...
    <item name="windowActionBarOverlay">true</item> <!-- for ActionBarSherlock -->
    <item name="android:windowActionBarOverlay">true</item>
    <!-- any stuff common here, colours, etc -->

    <!-- define the style for native ActionBar for Android 4 and higher -->
    <item name="android:actionBarStyle">@style/myActionbarTransparent</item>
    <!-- define the style for ActionBarSherlock -->
    <item name="actionBarStyle">@style/myActionbarTransparent</item>
</style>

<style name="MyThemeNoOverlay" parent="MyTheme">
    <item name="windowActionBarOverlay">false</item> <!-- for ActionBarSherlock -->
    <item name="android:windowActionBarOverlay">false</item>
    <!-- any stuff specific for no overlay activity action bars -->

    <!-- define the style for native ActionBar for Android 4 and higher -->
    <item name="android:actionBarStyle">@style/myActionbar</item>
    <!-- define the style for ActionBarSherlock -->
    <item name="actionBarStyle">@style/myActionbar</item>
</style>

<style name="myActionbar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@color/white</item>
</style>
<style name="myActionbarTransparent" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@color/transparent</item>
</style>

а затем в вашемAndroidManifest.xml вы можете использовать один из них по умолчанию, а другой для некоторых конкретных действий, выполнив что-то вроде:

<application ...="" android:theme="@style/MyThemeOverlay">
    ...
    <activity android:name=".Activity1">
    <activity android:name=".Activity2" android:theme="@style/MyThemeNoOverlay">
    <activity android:name=".Activity3">
    <activity android:name=".Activity4" android:theme="@style/MyThemeNoOverlay">
</activity></activity></activity></activity></application>

...

 Siddharth Lele24 июл. 2013 г., 18:33
Неплохо. +1 за усилие. :-)

Вы также можете установить его во время выполнения:

requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);

Это будет ActionBar полупрозрачный плавающий бар.

Как и любойrequestWindowFeature...это следует вызывать перед добавлением контента.

ПослеsetContentViewзатем вы можете установить фон из вашегоDrawable с этим:

getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar_bg));

+ ИзменитьgetActionBar сgetSupportActionBar для ActionBarSherlock

actionbar_bg.xml с корневым элементомформа:


Хотя я нахожуТомик-х Решение отличное, это будет полезно для тех одноразовых случаев для нескольких видов деятельности, а не для общего стиля.

 Mariano Latorre24 июл. 2013 г., 12:35
Вы также можете сделать это, сформировав манифест, создав стиль наложения без окон, расширяющий ваш стиль по умолчанию и назначив его действиям, которые вы не выполняете.не хочу, чтобы наложение окна было включено.
 Siddharth Lele24 июл. 2013 г., 13:09
@MarianoLatorre: Спасибо, что указал мне на это. ;-) При этом, мое предложение было, когда у вас есть один странный вид деятельности или, может быть, пара из них, которые на самом деле не требуют созданияStyle, Отсюда и Java-решения. Но все равно спасибо. :-)
 Siddharth Lele24 июл. 2013 г., 17:03
@MarianoLatorre: Я согласен. В некоторых случаях то, что вы предлагаете, может быть лучшим способом реализации требуемой функции. Когда был задан этот вопрос, я просто предложил альтернативу принятому ответу. Я думаю, как вы правильно заметили, требование будет диктовать решение. Вы должны рассмотреть возможность размещения своей альтернативы в качестве ответа тоже. ;-)
 Mariano Latorre24 июл. 2013 г., 17:00
это имеет смысл, в моем случае мне нужно было быстро переключаться между наложением окон и наложением без окон с помощью множества различных действий, и хотя было бы неплохо поделиться этой опцией с другими людьми.
 Soham08 мар. 2013 г., 13:45
Это правильно, и я пробовал это, но по какой-то причине это неработать над панелью действий на основе Шерлока на 2.3. Wierd.
 nhaarman14 нояб. 2012 г., 19:33
Хоть Томикрешение именно то, что яищу, это, безусловно, стоит упомянуть! Спасибо!
Решение Вопроса

Вы можете включить режим наложенияActionBar, Для этого нужно установить(android:)windowActionBarOverlay пункт в теме до.true


    ...
    true 
    true

 nhaarman14 нояб. 2012 г., 16:43
Отлично, спасибо!
 Soham08 мар. 2013 г., 13:38
Абсолютно блестящий, спасибо, ты спас мою задницу!
 Mariano Latorre24 июл. 2013 г., 11:20
я пробовал это, но яя получаю только серую полосу (раньше была белой), контент выигралза решеткой. Мое содержание это макет, что мне не хватает? спасибо <LinearLayout xmlns: android = "schemas.android.com/apk/res/android»               Android: layout_width =»match_parent»               Android: layout_height =»match_parent»               Android: ориентация =»вертикальный»     >    <ScrollView android: id = "@ + Идентификатор / documentPickerGridViewScroll»       Android: layout_width =»match_parent»       Android: layout_height =»match_parent»       >

Ваш ответ на вопрос