在全屏模式下隐藏标题?

有没有办法隐藏窗口标题,以便它不会以全屏模式显示(

getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN) 

),但随后会出现

 getWindow().clearFlags(LayoutParams.FLAG_FULLSCREEN) 

 requestWindowFeature(Window.FEATURE_NO_TITLE) 

当然不是一种select,因为这不会让它恢复原状。

Related of "在全屏模式下隐藏标题?"

我在Android游戏中处理这个的方法是在我的Activity的onCreate()中调用以下行

 requestWindowFeature(Window.FEATURE_NO_TITLE); 

然后,我可以closures全屏function,并在我的Activity类中使用以下代码(通常从菜单选项调用)(m_contentViewvariables是使用调用setContentView()时用到的id的findViewById()视图你创造)

 private void updateFullscreenStatus(boolean bUseFullscreen) { if(bUseFullscreen) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); } else { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); } m_contentView.requestLayout(); } 

我在所有的游戏中都没有任何问题地使用这种技术。

你为什么这么说

requestWindowFeature(Window.FEATURE_NO_TITLE); 当然不是一个选项

::编辑::

那么,如果你试图在活动的生命周期中dynamic地显示和隐藏它,我不确定你是否可以使用官方的窗口标题做到这一点,这是因为已经提到的有关窗口特性的注释需要在setContentView()之前设置。被称为( 链接 )

你可以做的一件事就是实现你自己的标题栏,并dynamic地显示和隐藏它…我把这个例子放在一起,应该设置你在正确的轨道

这是布局文件

 <?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:fadingEdgeLength="0sp" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myTitleBarLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/myTitleBarTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/app_name" android:paddingTop="4dip" android:paddingBottom="4dip" android:paddingLeft="6dip" android:textStyle="bold" android:shadowColor="#BB000000" android:shadowRadius="3.0" android:shadowDy=".25" /> <View android:layout_width="fill_parent" android:layout_height="1dip" android:background="#CCEEEEEE" android:padding="10dip" /> </LinearLayout> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" > <!-- Insert your regular layout stuff here --> <Button android:id="@+id/toggle_title_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Toggle Title" /> </ScrollView> </LinearLayout> 

这里是主要活动的代码,这将允许您打开和closures我们的自定义标题栏

 package com.snctln.test.HelloGridView; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TextView; public class HelloGridView extends Activity { public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = (TextView)this.findViewById(R.id.myTitleBarTextView); tv.setBackgroundColor(0xFF848284); tv.setTextColor(0xFFFFFFFF); Button toggleTitleButton = (Button)this.findViewById(R.id.toggle_title_button); toggleTitleButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { LinearLayout ll = (LinearLayout)findViewById(R.id.myTitleBarLayout); if(ll.getVisibility() == View.GONE) { ll.setVisibility(View.VISIBLE); } else { ll.setVisibility(View.GONE); } } }); } } 

它看起来并不完美,但你可以随时使用布局来做更多的事情。

替代文字http://img.androidcookie.com/android/120sfp1.png

我的另一个想法是,如果你只是想隐藏所有显示进度条为什么不使用ProgressDialog ?

这个class很容易使用…

 progressDlg = ProgressDialog.show(context, getString(R.string.progress_dialog_title_prepare), getString(R.string.progress_dialog_body_prepare)); // do long running operation if(operationFailed) { progressDlg.cancel(); } else { progressDlg.dismiss(); } 

将清单文件中的android:theme="@android:style/Theme.NoTitleBar.Fullscreen"到应用程序标签中将使每个活动成为全屏。

requestWindowFeature(Window.FEATURE_NO_TITLE)—— 是禁用应用程序的标题 (这是应用程序名称)

getWindow()。addFlags(LayoutParams.FLAG_FULLSCREEN)—- 是禁用顶部的通知栏 (所以请求android应用程序pipe理器允许全屏显示)

希望这有助于任何人想知道区别!

 if(useFullscreen) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); } else { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); } 

这对我工作..在onResume方法

在Android 3+上,可以通过调用getActionBar().hide()来轻松实现。hide getActionBar().hide()getActionBar().show()分别显示和隐藏标准的ActionBar

在Android 1.2上,最好的解决scheme(我猜)是为你的“标题栏”实现自定义视图并按需隐藏它(当然,在开始时调用requestWindowFeature(Window.FEATURE_NO_TITLE); )。

根据文档和android-developers谷歌组是不可能的。 要实现这个function,需要在文本和进度条中添加一个“标题栏”布局项目,并在需要时隐藏/显示。 现在 – 没有其他办法,因为标题栏控件只能在setContentView调用之前完成,而不能在之后改变。