在全屏模式下隐藏标题?

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

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

),但随后会出现

 getWindow().clearFlags(LayoutParams.FLAG_FULLSCREEN) 

 requestWindowFeature(Window.FEATURE_NO_TITLE) 

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

  • android listview空标题消息
  • Android ListView标题禁用单击
  • 如何将图标放入自定义对话框的标题中
  • 如何检测ActionBar标题上的点击?
  • 如何显示android操作栏标题不发生截断
  • 在ListView中隐藏Header视图
  • 寻找一个addTimedTextSource的工作示例,用于在Android 4.1中从.srt文件添加字幕到video
  • Android - 中心工具栏的标题
  • 我在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调用之前完成,而不能在之后改变。