我希望我的Android应用程序的行为如下所示。 1)人像模式:带标题栏 2)风景模式:没有标题栏(由于高度限制)
我知道我可以实现1)使用requestWindowFeature(Window.FEATURE_NO_TITLE),但是 当我旋转手机时,如何从1)动态更改为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/
或者您为横向模式指定了不同的布局:
http://developer.android.com/resources/tutorials/hello-world.html
景观布局
如果您想要横向设计不同的设计,请将布局XML文件放在/ res / layout-land中。当布局发生变化时,Android会自动查看此处。如果没有定义这种特殊的横向布局,Android将扩展默认布局。