2014-11-12 2 views
1

Когда я добавить эту строку в моей ActionBarStyle:ActionBar Overlay

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

и в моем макете добавить это:

android:paddingTop="?android:attr/actionBarSize" 

ActionBar не будет прозрачным. картина: enter image description here

+0

Это то, что вы ищете? https://developer.android.com/training/basics/actionbar/overlaying.html – NSimon

+0

да, я делаю с этим учебником, но панель действий не будет прозрачной. – user3730912

+0

Я ссылался на отзыв, отправляющий вас туда: https : //developer.android.com/training/basics/actionbar/styling.html Вы в основном должны использовать свой собственный макет для панели действий, где вы сможете установить прозрачность, которую вы хотите – NSimon

ответ

2

Определите свой новый фон ActionBar как это:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <!-- the theme applied to the application or activity --> 
    <style name="CustomActionBarTheme" 
      parent="@android:style/Theme.Holo.Light.DarkActionBar"> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 
    </style> 

    <!-- ActionBar styles --> 
    <style name="MyActionBar" 
      parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse"> 
     <item name="android:background">@drawable/actionbar_background</item> 
    </style> 
</resources> 

Где

<item name="android:background">@drawable/actionbar_background</item> 

будет где вы создали свой ActionBar фон, как Drawable, цвет, или что-то иначе вы хотите.

А потом применить эту тему к какой-либо деятельности или всего приложения:

<application android:theme="@style/CustomActionBarTheme" ... /> 

EDIT: Это то, что вы ищете? transparent actionbar

+0

Я делаю это, но панель действий не прозрачна. – user3730912

+0

android: layout_marginTop = "? android : attr/actionBarSize ", когда я добавляю этот код, он непрозрачен – user3730912

+0

Я хочу, чтобы вид списка находился в панели действий, когда я снимаю его – user3730912

1

Для этого на работу, вам нужно будет использовать библиотеку AppCompat из Android SDK. Я использовал appcompat_v7.

Для Android 2.1 и выше, я решил эту проблему, добавив следующую строку в моем styles.xml файла в вашем Реза/значение Папки:

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

Например:

<resources> 

<!-- 
    Base application theme, dependent on API level. This theme is replaced 
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices. 
--> 
<style name="AppBaseTheme" parent="Theme.AppCompat.Light"> 
    <!-- 
     Theme customizations available in newer API levels can go in 
     res/values-vXX/styles.xml, while customizations related to 
     backward-compatibility can go here. 
    --> 
    <item name="android:windowActionBarOverlay">true</item> 
</style> 

<!-- Application theme. --> 
<style name="AppTheme" parent="AppBaseTheme"> 
    <!-- All customizations that are NOT specific to a particular API-level can go here. --> 
</style> 

Что касается Android 3.0 и выше только, я добавил следующую строку в оба styles.xml файл в Рез/ценности-V11 папку, а также другие styles.xml файл в Рез/с ценностно v14 папка:

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

Например:

<resources> 

<!-- 
    Base application theme for API 11+. This theme completely replaces 
    AppBaseTheme from res/values/styles.xml on API 11+ devices. 
--> 
<style name="AppBaseTheme" parent="Theme.AppCompat.Light"> 
    <!-- API 11 theme customizations can go here. --> 
    <item name="android:windowActionBarOverlay">true</item> 
</style> 

Надеюсь, это поможет.