1

如何拥有全屏应用程序(无标题栏)和所有设备的操作栏?当我使用

this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
             WindowManager.LayoutParams.FLAG_FULLSCREEN);

操作栏已删除。如果我将其更改为

this.requestWindowFeature(Window.FEATURE_ACTION_BAR | Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
             WindowManager.LayoutParams.FLAG_FULLSCREEN);

我有一个带有操作栏的全屏应用程序,输出看起来像

http://i.stack.imgur.com/Ptlfw.png

和 myLayout.xml :

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="20dip">
<TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
</LinearLayout>

顺便说一句,我将使用 Sherlock,并且想要 ActionItems(sherlock 示例中的第一项),但没有标题栏。

4

4 回答 4

3

您必须在abs_themes.xml中更改您的父样式

去@

库>res>values>abs_themes.xml

打开该文件并将某种代码替换为@

<style name="Sherlock.__Theme" parent="android:Theme.NoTitleBar.Fullscreen">

反而

<style name="Sherlock.__Theme" parent="android:Theme.NoTitleBar">

更新

附加输出画面

在此处输入图像描述

于 2012-11-20T07:42:29.617 回答
1

所有设备是什么意思?ActionBar是从 Honeycomb 引入的,它取代了 TitleBar. 您不能ActionBar在预蜂窝设备中使用。如果您只是针对 Honeycomb 和更高版本的设备,Window.FEATURE_NO_TITLE实际上删除了ActionBar,所以请不要使用Window.FEATURE_NO_TITLEActionBar的可见性。

于 2012-11-20T08:34:43.960 回答
1

也许Window.FEATURE_NO_TITLE通过设置替换窗口功能设置Window.FEATURE_ACTION_MODE_OVERLAY就可以了。

于 2014-01-03T10:51:25.043 回答
0

把它放在 style.xml 上:

<style name="MyTheme" parent="Theme.Sherlock.Light.DarkActionbar">
    <item name="android:windowFullScreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

并像这样在清单中使用它:

<activity android:name="MainActivity" android:theme="@style/MyTheme"></activity>
于 2014-07-23T14:06:54.610 回答