Android中的多屏幕支持
我在一个项目上工作,我已经testing了一个。 它在那里正常工作,但我希望我的项目应该与所有屏幕尺寸兼容。 如何做到这一点? 我给了
<supports-screens android:smallScreens="true"/> <supports-screens android:normalScreens="true"/> <supports-screens android:largeScreens="true"/> <supports-screens android:anyDensity="true"/> <supports-screens android:resizeable="true" android:anyDensity="true" />
androidmainfest.xml中的参数
http://developer.android.com/guide/practices/screens_support.html
您必须为res文件夹 – > hdpi,mdpi,ldpi中的不同布局以及xhdpi(适用于Tablet)和large-hdpi或xlarge(适用于NXzoom)的大屏幕添加不同的文件夹。 还可以根据屏幕大小以不同的布局设置图像和文本大小…
这家伙有一些伟大的博客关于如何处理Android应用程序中的多个屏幕大小。 他们的名字是“处理多个屏幕尺寸”,有5个部分:
http://www.androidguys.com/2010/02/16/handling-multiple-screen-sizes-part/
http://www.androidguys.com/2010/02/18/handling-multiple-screen-sizes-part-2/
http://www.androidguys.com/2010/02/23/handling-multiple-screen-sizes-part-3/
http://www.androidguys.com/2010/03/01/handling-multiple-screen-sizes-part-4/
http://www.androidguys.com/2010/03/02/handling-multiple-screen-sizes-part-5/
通读他们,你应该有更好的了解你需要做的所有事情。
对于过去的一天,我们用来创build不同的布局文件夹,如布局小,布局正常,布局大,布局xlarge为多个屏幕。 但这是一个很多工作。 所以有一种支持多屏幕的新方法。 详情如下。
支持多屏幕(所有手机和平板电脑):
对于移动设备 :我们通常使用不同值的文件夹进行不同dpi的处理,在文件夹内只有“dimens.xml”文件是不同的,因为当我们使用不同的设备时,只有维度被改变而不是所有的参数,例如颜色,string,风格等是相同的。 对于值文件夹:共有4个值文件夹。
values (For mdpi devices) values-hdpi (For hdpi devices) values-xhdpi (For xhdpi devices) values-xxhdpi (For xxhdpi devices)
(这里每个文件夹里只有维度文件是不同的,所以除了维度文件,所有其他文件只保留在值文件夹中。)
对于平板电脑 :我们必须使用sw(smallestWidth)概念。 例如,sw600dp表示只有当可用屏幕的最小尺寸至less为600dp时,系统才会使用这些资源。 屏幕方向改变时,设备的最小宽度不会改变。 一般来说,我们在res文件夹中为平板电脑创build两个文件夹
layout-sw600dp (For 7″ to 9″ Screen) layout-sw720dp (For 10″ to above screen)
最后一件事,任何设备(手机或平板电脑)的图像,你必须创build不同的可绘制文件夹:
drawable-mdpi drawable-hdpi drawable-xhdpi drawable-xxhdpi
我正在处理这种方式,它的工作正常…..如果有任何改进的方法,所以指导我
屏幕尺寸480×800
布局正常HDPI-480×800
绘制正常-HDPI-480×800
屏幕尺寸银河Nexus —虽然它的尺寸是1280×720,但实际上由于系统栏的尺寸(屏幕尺寸)不同
布局正常xhdpi
绘制正常,xhdpi
屏幕尺寸注5.3 –
布局正常xhdpi,1280×800的
绘制正常-xhdpi,1280×800的
屏幕尺寸S3 —
布局正常xhdpi,1280×720
绘制正常-xhdpi,1280×720
屏幕尺寸7英寸标签2支持操作系统版本3及以上—由于系统栏的尺寸(屏幕尺寸)不同,不会写入实际尺寸1026×600 bsz
布局大MDPI
提拉 – 大MDPI
屏幕尺寸7英寸标签p1000等支持小于3 —
布局大HDPI-1024×600
提拉 – 大HDPI-1024×600
屏幕尺寸1280×800选项卡10.1,10.2,注10.1等—你可以添加尺寸,如果你想其他明智的话
布局XLARGE,MDPI
提拉 – XLARGE,MDPI
上面所有的答案都有很好的自己的意思。很多时候,我们在情况下,在RelativeLayout
嵌套的LinearLayout
难以适应所有的屏幕考虑一些复杂的布局线Tile
上面的场景可以通过安装所有屏幕的android百分比支持库来解决。
在这里演示
GitHub项目在这里
<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/fifty_huntv" android:background="#ff7acfff" android:text="20% - 50%" android:textColor="@android:color/white" android:layout_width="0dp" android:layout_height="0dp" app:layout_heightPercent="20%" app:layout_widthPercent="50%" /> <TextView android:layout_toRightOf="@id/fifty_huntv" android:background="#ffff5566" android:text="80%-50%" android:layout_width="0dp" android:layout_height="0dp" app:layout_heightPercent="80%" app:layout_widthPercent="50%" /> </android.support.percent.PercentRelativeLayout>
希望有人发现它有用:-)。