Intereting Posts
Анимация для Android: как увеличить высоту просмотра? Разработка приложения для Android в отдельных рабочих модулях Как добавить ярлык на главный экран в android программно Android: как заполнить ListView с помощью индексатора алфавита и fastscroll, как в приложении для контактов? Инструменты тестирования производительности для собственных мобильных приложений в iOS и Android Android, NoSuchFieldError при запуске второй активности Gradle не может разрешать зависимости в Android Studio Как скрыть экранную клавиатуру, когда DialogFragment отменяется событием setCanceledOnTouchOutside Вызов stopSelf () в службе, пока поток запущен Ошибка с ViewPager и RecyclerView Разница между рамкой и относительной компоновкой? Установка значка уведомления Android на удаленный URL-адрес Ошибка анонимной аутентификации Firebase через Mobile Data Gradle + Retrolambda: Неустранимая ошибка: невозможно найти пакет java.lang в пути к классам или bootclasspath Можно ли отправлять пользовательские объекты в Android Wear?

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

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

Введите описание изображения здесь

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

<style name="Theme.MyTheme" parent="android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/ActionBar</item> </style> <style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar"> <item name="android:background">#64000000</item> </style> 

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

Solutions Collecting From Web of "Показать ImageView частично за прозрачным ActionBar"

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

 <style name="MyTheme" parent="Theme.Sherlock"> ... <item name="windowActionBarOverlay">true</item> <!-- for ActionBarSherlock --> <item name="android:windowActionBarOverlay">true</item> </style> 

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

 requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); 

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

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

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

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

Измените getActionBar с помощью getSupportActionBar для ActionBarSherlock

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

 <solid android:color="#64000000" /> 

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

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

 <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" />