Android:如何禁用FEATURE_NO_TITLE

时间:2011-01-31 16:42:42

标签: android

我希望我的Android应用程序的行为如下所示。 1)人像模式:带标题栏 2)风景模式:没有标题栏(由于高度限制)

我知道我可以实现1)使用requestWindowFeature(Window.FEATURE_NO_TITLE),但是 当我旋转手机时,如何从1)动态更改为2)?

2 个答案:

答案 0 :(得分:5)

当手机旋转时,您的活动将被关闭并重新创建。在onCreate中,您可以在设置内容视图之前获取Display的实例(使用getWindowManager().getDefaultDisplay())并查询其宽度,高度和/或旋转以决定是否需要标题功能。

答案 1 :(得分:4)

This answer表示您无法在活动的生命周期内更改功能(如方向更改时),因此他们建议您实施自己的标题(跳转到“ ::编辑: :“部分):

Hiding Title in a Fullscreen mode?

  

::编辑::

     

如果您在活动的生命周期中尝试动态显示和隐藏它,那么我不确定您是否可以使用官方窗口标题执行此操作,因为已经提到过有关需要先设置的窗口功能的注释调用setContentView()。

     

你可以做的一件事是实现你自己的标题栏并动态显示和隐藏...我把这个例子放在一起,应该让你在正确的轨道上

因为当您更改方向时,您的应用会经历一系列生命周期更改,您有机会onCreate显示或隐藏您的标题。

http://stuffthathappens.com/blog/2008/11/26/android-lifecycle-triggers-part-2/

Diagram of lifecycle when orientation changes

或者您为横向模式指定了不同的布局:

http://developer.android.com/resources/tutorials/hello-world.html

  

景观布局

     

如果您想要横向设计不同的设计,请将布局XML文件放在/ res / layout-land中。当布局发生变化时,Android会自动查看此处。如果没有定义这种特殊的横向布局,Android将扩展默认布局。

相关问题