【问题标题】:The tabhost hides when app it's on full screen当应用程序全屏显示时,tabhost 会隐藏
【发布时间】:2012-05-02 14:44:31
【问题描述】:

我在使用 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 上我没有这个错误。

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

谢谢。

【问题讨论】:

    标签: java android android-tabhost


    【解决方案1】:

    您没有尝试删除代码中的标题,而是尝试删除 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

    【讨论】:

    • 是的,我做了同样的结果。最后我不会将我的应用设置为全屏,我认为最好的方法是不要在 Android 上隐藏状态栏。
    【解决方案2】:

    我也遇到了同样的问题。我认为当标签栏位于底部时,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) 行之后。这为我解决了上述问题。

    【讨论】:

      猜你喜欢
      • 2018-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      相关资源
      最近更新 更多