如何让我的应用程序在Galaxy Tab上显示全屏

问题描述:

我一直在尝试我能想到的一切,让我的应用程序在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

另一种方式做的就是创建一个名为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

如果您将目标sdk级别设置为小于9的任何值,则支持超大屏幕会被假定为false。如果您在清单中设置targetSdkVersion = 9,则假定xlarge支持为true。请参阅Supporting Multiple Screens上的文档,特别是兼容模式的说明。

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

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

或其它版本号中缺少您的清单

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); 

这对我来说工作正常...试试这个

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

,你将不得不做明确以下几点:

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

您可以准确下

super.onCreate(savedInstanceState); 
你想成为全屏幕活动的

添加此。

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

给这一个在你的manifest文件:

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

那肯定会工作。