2011-10-06 111 views
1

我在Android上遇到TabHost和全屏应用程序的问题。 我下载这个例子:https://github.com/AdilSoomro/Iphone-Tab-in-Android和我的onCreate添加此行:tabhost在全屏幕时隐藏应用程序

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

但是当我尝试在我的HTC手机,该选项卡是隐藏的。如果应用程序没有全屏显示,则不会发生这种情况。 你可以在这个截图上看到它。

Tabhost screen shot

突然,当我按下另一个选项卡上,所有的TabHost上去。 在HTC手机上只有这样的事情发生,我测试过:HTC G1,HTC Hero,HTC Desire和HTC Desire HD,另一方面,在Samsung Galaxy 3和S II上我没有这个错误。

你知道问题在哪里吗?我找不到任何关于此问题的信息。

谢谢。

回答

0

而不是尝试删除代码中的标题,你有没有尝试删除Manifest中的标题?

<activity android:name="TabActivityName" 
     android:label="@string/name_of_acitivity" 
     android:theme="@android:style/Theme.NoTitleBar"> 

欲了解更多信息结帐:http://developer.android.com/guide/topics/ui/themes.html#PlatformStyles

+0

是的,我尝试过,但没有结果... – Pipeline

+0

您是否删除了注册窗口功能代码? –

+0

是的,我做了同样的结果。最后,我不会将我的应用设置为全屏,我认为最好的方法是不要在Android上隐藏状态栏。 – Pipeline

0

我有同样的问题。我觉得android在动态显示状态栏隐藏的时候并不知道屏幕的大小,当tabbar位于底部时。

最简单的解决方案是首先隐藏tabbar:tabHost.getTabWidget().setVisibility(View.GONE);。然后在约600毫秒后启用它:tabHost.getTabWidget().setVisibility(View.VISIBLE);。这不是最好的,如果你有一个拉伸的背景图像,因为内容的高度会改变,所以图像将跳转到新的大小。

另一种解决方案是在应用程序启动之前进行启动画面活动。您需要将此屏幕全屏。 这里是一个链接,如何使闪屏:http://www.codeproject.com/Articles/113831/An-Advanced-Splash-Screen-for-Android-App 我做了一个全屏闪屏图像,需要把finish()startActivity(intent)线。这为我解决了上述问题。