2011-02-03 61 views
8

我一直在嘗試我能想到的一切,讓我的應用程序在Galaxy Tab上全屏顯示。如何讓我的應用程序在Galaxy Tab上顯示全屏

基本上,它的工作原理就像Android SDK附帶的Lunar Lander示例應用程序。你會怎麼做,使Lunar Lander應用全屏顯示在Galaxy Tab等大屏幕設備上?

我並不擔心此時圖形的質量,而只是如何創建像這樣的應用程序才能填滿屏幕。它基本上被設計用於在帶有可繪製文件夾中的圖像的320x480 MDPI屏幕上工作,並且它使用SurfaceHolder和視圖來繪製各個位圖。

有什麼建議嗎?

CLARIFICATION:對不起,我不是指全屏,因爲在去除通知和標題欄時,我的意思是一切都有一個巨大的黑色邊框,它的圖形不佔用整個屏幕。

+0

您爲應用程序提供的最低sdk要求是多少? – Noel 2011-02-03 01:16:14

+0

我把min SDK設置爲4,最大設置爲8 – 2011-02-03 01:27:06

回答

6

另一種方式做的就是創建一個名爲styles.xml在res XML /值

定義樣式:

<style name="Theme.FullScreen" parent="android:Theme"> 
     <item name="android:windowFullscreen">true</item> 
     <item name="android:windowNoTitle">true</item> 
    </style> 

在清單後,告訴機器人必須在全屏設置什麼活動以上樣式:

<activity android:name=".activity.NewSearchBrowserActivity" android:theme="@style/Theme.FullScreen" android:screenOrientation="landscape"></activity> 

以這種方式您製作了一個可重用的主題,可應用於任何活動。

+0

對不起,我並不是指全屏,因爲在刪除通知和標題欄時,我的意思是任何東西都有一個巨大的黑色邊框,並且圖形不需要整個屏幕。 – 2011-02-03 01:26:23

10

如果您將目標sdk級別設置爲小於9的任何值,則支持超大屏幕會被假定爲false。如果您在清單中設置targetSdkVersion = 9,則假定xlarge支持爲true。請參閱Supporting Multiple Screens上的文檔,特別是兼容模式的說明。

5

Ted提到了XLargeSceens,Galaxy Tab運行2.2,因此它沒有2.3中添加的xlargeScreens屬性;因爲即將到來的一代平板電腦將擁有3.0和XlargeScreens,您仍然想要使用它(並針對2.3/3.0進行編譯)

在您的Manifest中,您需要聲明對所有合理屏幕尺寸的支持並提供正確的設置資源

<supports-screens 
    android:smallScreens="false" 
    android:largeScreens="true" 
    android:xlargeScreens="true" 
    android:normalScreens="true" 
    android:anyDensity="true" 
/> 
+3

提醒一下,'supports-screens'標籤位於'manifest'標籤下,而不是'application'標籤。經過半個多小時的磨合之後,如果你把它放在那裏,我可以確認它什麼也不做。 – 2011-11-08 14:51:13

+0

非常感謝,我也允許小屏幕,完美的作品 – cV2 2011-12-28 17:40:41

0

<uses-sdk android:minSdkVersion="4" />

或其它版本號中缺少您的清單

1
public void onCreate(Bundle savedInstanceState) { 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

這對我來說工作正常...試試這個

2

除非你支持至少4個SDK版本,即:
<uses-sdk android:minSdkVersion="4"/>

,你將不得不做明確以下幾點:

<supports-screens android:smallScreens="true" 
    android:normalScreens="true" 
    android:largeScreens="true" 
    android:anyDensity="true" /> 
0

您可以準確下

super.onCreate(savedInstanceState); 
你想成爲全屏幕活動的

添加此。

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

給這一個在你的manifest文件:

<supports-screens android:smallScreens="true" 
    android:normalScreens="true" 
    android:largeScreens="true" 
    android:anyDensity="true" /> 

那肯定會工作。

相關問題