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 上的半透明渐变状态栏