android lollipop 中的顶部栏如何隐藏?

Posted

技术标签:

【中文标题】android lollipop 中的顶部栏如何隐藏?【英文标题】:How the top bar hidden in android lollipop? 【发布时间】:2016-08-01 22:51:34 【问题描述】:

我需要将顶部栏放在“抽屉导航”之外。

在我的 kitkat 设备中,它看起来不错。但是在棒棒糖上进行测试时,会出现该条。

不知道怎么去掉,我试着把活动的主题改成“NoActionBar”和类似的主题。但它不起作用。

谢谢。

我正在做这个设计。 kitkat 看起来不错。

lolipop 但如果你看到那个酒吧。

这是我的主要活动:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_
    android:layout_
    tools:context="com.like.mail.network.aupa.maillike.TestActivity">

    <include
        layout="@layout/top_toolbar" />

    <include layout="@layout/content_test" />

</LinearLayout>

这是我的内容测试:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_
    android:layout_
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <LinearLayout
        android:orientation="vertical"
        android:layout_
        android:layout_>

        <include
            layout="@layout/app_bar_main"
            android:layout_
            android:layout_ />

    </LinearLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_
        android:layout_
        android:layout_gravity="left"
        android:fitsSystemWindows="true">

        <ExpandableListView
            android:id="@+id/navigationmenu"
            android:layout_
            android:layout_
            android:background="#222"
            android:groupIndicator="@null"
            android:listSelector="#D84B20">
        </ExpandableListView>

    </android.support.design.widget.NavigationView>

</android.support.v4.widget.DrawerLayout>

这是我的清单:

<activity
        android:name=".TestActivity"
        android:label="@string/title_activity_test"
        android:theme="@style/AppThemeWithoutActionBarTitle">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

这是我的风格:

 <style name="AppThemeWithoutActionBarTitle" parent="AppTheme">
    <item name="android:actionBarStyle" tools:targetApi="honeycomb">
        @style/ActionBarWithoutTitle
    </item>
</style>

<style name="ActionBarWithoutTitle" parent="@style/ActionBar">
    <item name="android:displayOptions" tools:targetApi="honeycomb">useLogo</item>
</style>

【问题讨论】:

你试过设置全屏模式吗? 是的。全面屏看起来不错。但是当屏幕被处理掉bar phone(显示堆栈、通知等)并覆盖我的“top bar”的一些元素时。而且我想在正常模式下让它很好。这个问题有解决方案吗?我的代码结构错了吗? 【参考方案1】:

在清单中试试

<activity
    android:name=".TestActivity"
    android:label="@string/title_activity_test"
    android:theme="@style/AppThemeWithoutActionBarTitle">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

res/values-v21/style.xml

<resources>

<style name="AppThemeWithoutActionBarTitle" parent="Base.MyTheme"></style>

<style name="Base.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowActionBarOverlay">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="windowNoTitle">true</item>
</style>

</resources>

【讨论】:

用那个成就隐藏栏。但是当屏幕被处理时,手机的顶部栏(电池,通知等)安装在我的应用程序的某些元素上。 @VipPunkJoshersDroopy 试试这个新的解决方案。将 stryle.xml 添加到 values-v21 文件夹中。 我正在尝试.. 对不起,我是新人。该样式也应该放在“style.xml”中。除了添加“值-21”的样式之外,我删除了您在“值”中的内容并将其也添加了吗? 任何想法,唯一的变化是条的颜色。没有办法将停止分配给 0 什么的? parent="Base.MyTheme" 即“Base.MyTheme”明确应该顺利吗?还是应该替换ahy?【参考方案2】:

使用以下代码完成移动条:

super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_test);

同时去掉所有“layout包括”的属性:android:fitsSystemWindows="true",放到main中。

【讨论】:

以上是关于android lollipop 中的顶部栏如何隐藏?的主要内容,如果未能解决你的问题,请参考以下文章

Material Design 中呈现的 Android Lollipop 上的半透明渐变状态栏

状态栏后面的布局 - Android Lollipop

Android:是不是可以更改 Android Lollipop 状态栏中图标的颜色

android 状态栏和虚拟按键栏字体背景颜色设置

android 状态栏和虚拟按键栏字体背景颜色设置

使 Android Lollipop 中状态栏的工具栏颜色变暗