我使用Developer Guide启用ActionBar Overlaying,但无效
操作栏不透明,布局位于ActionBar
下方预期:
风格
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/CustomActionBarTheme</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/CustomActionBarTheme</item>
</style>
<style name="CustomActionBarTheme" parent="Theme.AppCompat">
<item name="android:windowActionBarOverlay">true</item>
<!-- Support library compatibility -->
<item name="windowActionBarOverlay">true</item>
</style>
main_layout
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#AABBCC"
tools:context=".MainActivity">
</RelativeLayout>
答案 0 :(得分:2)
您需要将Appcompat主题中的windowActionBarOverlay属性设置为true,而您正在绘制的relativeLayout仅从它知道的顶部开始,它位于操作栏下方。它需要在主样式中设置,而不是在actionbarstyle
中设置然后你可以将toolbarstyle中的android:background设置为透明以获得所需的效果
要显示我们在项目中使用的一些代码,以获得透明的工具栏:
<style name="ToolBarStyle.Transparent" parent="">
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Dark</item>
<item name="android:background">@android:color/transparent</item>
<item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowActionBarOverlay">true</item>
<item name="windowActionBarOverlay">true</item>
</style>
介意,工具栏样式设置在xml的工具栏上,稍后将其设置为操作栏。