我一直在努力尝试让我的应用在Galaxy Tab上全屏显示。
基本上,它的工作方式与Android SDK附带的Lunar Lander示例应用程序类似。你会做些什么让Lunar Lander应用程序在Galaxy Tab等大屏幕设备上全屏显示?
此时我并不关心图形的质量,而是关注如此创建的应用程序如何填满屏幕。它基本上设计用于320x480 MDPI屏幕,图像位于drawable文件夹中,它使用SurfaceHolder和视图绘制各个位图。
有什么建议吗?
澄清:对不起,我不是全屏,因为删除通知和标题栏,我的意思是一切都有一个巨大的黑色边框,它的图形不占用整个屏幕。
答案 0 :(得分:10)
如果将目标sdk级别设置为小于9的任何值,则假定支持超大屏幕是错误的。如果在清单中设置targetSdkVersion = 9,则假定xlarge支持为true。请参阅Supporting Multiple Screens上的文档,特别是兼容模式的说明。
答案 1 :(得分:6)
另一种方法是在res / values
中创建一个名为styles.xml的xml定义一种风格:
<style name="Theme.FullScreen" parent="android:Theme">
<item name="android:windowFullscreen">true</item>
<item name="android:windowNoTitle">true</item>
</style>
稍后在清单中,告诉android什么活动必须在全屏设置上面的样式:
<activity android:name=".activity.NewSearchBrowserActivity" android:theme="@style/Theme.FullScreen" android:screenOrientation="landscape"></activity>
通过这种方式,您可以制作可重复使用的主题,可以应用于任何活动。
答案 2 :(得分:5)
Ted提到XLargeSceens,Galaxy Tab运行2.2,因此没有像2.3中添加的xlargeScreens属性;因为即将推出的平板电脑将拥有3.0和XlargeScreens,你无论如何都要使用它(并针对2.3 / 3.0进行编译)
在您的清单中,您需要声明对所有合理屏幕尺寸的支持并提供正确的资源集
<supports-screens
android:smallScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:normalScreens="true"
android:anyDensity="true"
/>
答案 3 :(得分:2)
除非您支持至少为4的SDK版本,即:
<uses-sdk android:minSdkVersion="4"/>
,
您必须明确地执行以下操作:
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
答案 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);
这对我来说很好......试试这个
答案 5 :(得分:0)
<uses-sdk android:minSdkVersion="4" />
或清单中缺少其他版本号
答案 6 :(得分:0)
您可以在
下完全添加 super.onCreate(savedInstanceState);
您希望全屏显示的活动。
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
答案 7 :(得分:0)
在清单文件中提供此内容:
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
当然会起作用。