Android UI设计:支持多个屏幕

Jib*_*ibW 19 android android-layout

我已阅读本教程多次支持多个屏幕以及许多有关的stackoverflow问题Design Android UIs to fit well with all android screen sizes.

但仍然在努力为所有屏幕尺寸提供最佳和相同的用户体验.

当我设计接口时,始终牢记以下图表.在此输入图像描述

在我的应用程序中,它使用res文件夹下的以下文件夹结构.

在此输入图像描述

此外,我在定义大小时在xml布局文件中使用了dpsp单位.

屏幕尺寸小

当谈到小屏幕尺寸时,它完美地指代在其下定义的UI layout-small并且没有任何问题地显示.

正常的屏幕尺寸

当我设计正常屏幕尺寸的布局时(layout folder),我使用3.5 inchesAndroid设备和3.7 inches模拟器来测试UI在正常屏幕尺寸下的样子.

所以我的布局在这个尺寸上看起来很棒,但是三星Gallaxy S3(4.8 inches)和S4(5.0 inches)的屏幕略大,它们仍然指的是普通屏幕尺寸的布局.因此在那些较大的屏幕中有一个相当大的空间从底部不使用,UI看起来不太好看.

另外在清单文件中,我定义了以下内容,

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

<supports-screens 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:smallScreens="true" 
    android:anyDensity="true" />
Run Code Online (Sandbox Code Playgroud)

我没有图像密度问题(drawable-hdpi/drawable-xhdpi/drawable-mdpi/drawable-ldpi)

(1).想知道我错过了什么或做错了这样的结果,特别是在Bigger屏幕(4.8英寸)中,以引用正常的布局.

(2).此外,如果有人可以解释最佳实践和在文件夹下定义文件夹结构的标准方式,Res以适应android中的所有屏幕尺寸,将不胜感激,因为这是如此令人困惑.谢谢.

Elh*_*aky 16

您可以使用相对于屏幕大小的sdp大小单位,而不是使用dp大小单位.

使用sdp size单元,您将在所有屏幕尺寸上拥有相同的用户体验,只有一个布局xml.

小心使用!例如,在大多数情况下,您仍需要为平板电脑设计不同的布局.

对于文本视图大小,请参阅ssp大小单位(基于sp大小单位)


Pla*_*ato 3

您可以使用以下资源文件夹为屏幕较大的设备创建布局:

7英寸平板电脑
res\layout-sw600dp

10英寸平板电脑
res\layout-sw720dp