我在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都上升了。 这个问题只发生在HTC手机上,我测试过:HTC G1,HTC Hero,HTC Desire和HTC Desire HD,另一方面,三星Galaxy 3和S II上没有这个错误。
你知道问题出在哪里吗?我找不到任何相关的东西。
感谢。
答案 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)
行之后。这解决了我的上述问题。