android - 无法让AppCompat ActionBar/Toolbar成为覆盖

标签 android android-appcompat

因此,我有一个工具栏,我将其设置为我的 supportActionBar,我希望它处于覆盖模式。在这一点上,我觉得我已经尝试了一切,但似乎没有任何效果。

这是我目前拥有的样式:

<style name="Theme.ArgleBargle" parent="@style/Theme.AppCompat.Light">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorAccent">@color/accent</item>
    <item name="vpiIconPageIndicatorStyle">@style/Widget.IconPageIndicator</item>
    <item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item>
    <item name="windowActionBar">false</item>
    <item name="windowActionBarOverlay">true</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowBackground">@color/background</item>
</style>

<style name="CustomActionBar" parent="@style/ThemeOverlay.AppCompat.Light">
    <item name="android:windowActionBarOverlay">true</item>
    <!-- Support library compatibility -->
    <item name="windowActionBarOverlay">true</item>
</style>

这是我的工具栏的代码:

<android.support.v7.widget.Toolbar
        android:id="@+id/actionbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:theme="@style/CustomActionBar"/>

最后,这是我在 Activity 中设置它的地方:

actionbar = (Toolbar) findViewById(R.id.actionbar);;
setSupportActionBar(actionbar);

我也试过调用 getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY) 但没有成功。

最佳答案

所以,事实证明这个问题同时非常简单,但并不明显(至少对我而言)。基本上问题在于,虽然工具栏被设置为操作栏,但它最终仍然是一个在 XML 中声明的布局元素。因此,诀窍当然是确保它在 XML 中重叠。现在,这是我的布局示例:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:id="@+id/actionbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:background="?attr/colorPrimary"/>

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

现在一切都按预期工作。希望这可以帮助遇到同样问题的其他人!

关于android - 无法让AppCompat ActionBar/Toolbar成为覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27115455/

相关文章:

android - FloatingActionButton渲染: Color value '?attr/colorAccent' must start with #

Android:无法更改后退箭头导航图标的颜色

java.lang.IllegalStateException : You need to use a Theme. AppCompat 主题(或后代)与此 Activity

android - "You need to use a Theme.AppCompat theme (or descendant) with the design library"错误

Android "Clock"源git克隆,导入报错

android - Material Design Textfield下拉菜单如何实现

android - 在 Android 中检索图像布局尺寸

android - 是否有任何在 react-native 中实现 JavaScriptModule 的指南?

java - 如何使用 httpUrlConnection 获取 url 的查询字符串,android

android - 找不到 Material 主题资源