如何让Android应用程序支持多种屏幕尺寸

时间:2013-01-21 21:22:57

标签: android

所以我使用下面的代码让我的应用程序在不同的Android设备上扩展屏幕尺寸,但是当我在Nexus 7上进行测试时,它不会缩放,就像它在4英寸屏幕上一样。当我在7英寸屏幕上的模拟器中运行它时,它可以工作。我的清单文件有什么问题吗?

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

此代码在“应用程序”部分正确之前发生了吗?

2 个答案:

答案 0 :(得分:4)

好的,您必须知道的是support-screens不会使您的应用在您支持的屏幕上看起来“不错”(请查看此link)。它只是告诉具有此类屏幕的用户将能够下载您的应用程序,但您可以正确显示它。您必须自己为特定屏幕创建布局。

有关它的更多信息,您可以阅读Android的文档:http://developer.android.com/guide/practices/screens_support.html

基本上,您必须正确命名存储布局文件的目录,以便让Android知道应该为特定设备选择哪个目录。例如,如果您的布局文件是“layout.xml”,那么您应该:

/res/layout/layout.xml         // Default layout
/res/layout-small/layout.xml   // Small screens
/res/layout-large/layout.xml   // Large screens
/res/layout-xlarge/layout.xml  // Extra large screens

您可以更进一步,通过在目录名称中指定另一个关键字,为portraitlandscape视图制作不同的布局:

/res/layout-small-land/layout.xml      // Small screens, landscape view
/res/layout-small-portrait/layout.xml  // Small screens, portrait view

请记住,代码订单很重要,因此您无法撰写layout-portrait-small

答案 1 :(得分:0)

使用相对布局它将解决您的大部分问题。附加使用文件夹名称,如下所示 我处理多个屏幕的方式是这种方式,它的工作正常.....如果有任何一个改进的方式,请指导我

屏幕尺寸480x800

布局正常HDPI-480×800

抽拉正常-HDPI-480×800

屏幕尺寸 Galaxy Nexus ---虽然它的尺寸 1280x720 但实际上由于系统条的尺寸(屏幕尺寸)不同

布局正常xhdpi

抽拉正常-xhdpi

屏幕尺寸注5.3 ---

布局正常xhdpi-1280×800

抽拉正常-xhdpi-1280×800

屏幕尺寸 S3 ---

布局正常xhdpi-1280×720

抽拉正常-xhdpi-1280×720

支持操作系统版本3及更高版本的屏幕尺寸 7英寸标签2 ---由于系统栏尺寸(屏幕尺寸)不同,实际上不要写尺寸1026x600 bsz

布局大MDPI

抽拉-大MDPI

屏幕尺寸 7英寸标签页p1000 等等,不足以支持小于3 ---

布局大HDPI-1024×600

抽拉-大HDPI-1024×600

屏幕尺寸 1280x800标签10.1,10.2,注意事项10.1 等---如果您想要其他明智的话,可以添加尺寸

布局XLARGE-MDPI

抽拉-XLARGE-MDPI