2011-10-06 63 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)線。這爲我解決了上述問題。