当应用程序全屏显示时,tabhost会隐藏

时间:2011-10-06 15:05:21

标签: java android android-tabhost

我在Android上遇到TabHost和全屏应用的问题。 我下载了这个例子:https://github.com/AdilSoomro/Iphone-Tab-in-Android并在onCreate上添加以下行:

 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,另一方面,三星Galaxy 3和S II上没有这个错误。

你知道问题出在哪里吗?我找不到任何相关的东西。

感谢。

2 个答案:

答案 0 :(得分:0)

您是否尝试删除代码中的标题,而不是尝试删除代码中的标题?

<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

答案 1 :(得分:0)

我遇到了同样的问题。当tabbar位于底部时,我认为当动画状态栏的隐藏时,android不知道屏幕的大小。

最简单的解决方案是首先隐藏标签栏: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)行之后。这解决了我的上述问题。