我已多次阅读本教程SUPPORTING MULTIPLE SCREENS以及有关Design Android UIs to fit well with all android screen sizes
的许多stackoverflow问题。
但仍然努力为所有屏幕尺寸提供最佳和相同的用户体验。
当我设计接口时,始终牢记以下图表。
目前在我的应用中,它使用res文件夹下的以下文件夹结构。
在定义尺寸时,我还在xml布局文件中使用了 dp 和 sp 单位。
小屏幕尺寸
对于小屏幕尺寸,它完全引用layout-small
下定义的用户界面并显示没有任何问题。
普通屏幕尺寸
当我为普通屏幕尺寸(layout folder)
设计布局时,我使用3.5 inches
android设备和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" />
我对图像密度(drawable-hdpi/drawable-xhdpi/drawable-mdpi/drawable-ldpi
)
(1)。想知道我错过了什么或做错了,特别是在更大的屏幕(4.8英寸)中,这是指正常的布局。
(2)。此外,如果有人能够解释最佳做法以及在Res
文件夹下定义文件夹结构的标准方式,以便与android中的所有屏幕尺寸完美匹配,那么感激,因为这太令人困惑了。谢谢。
答案 0 :(得分:16)
您可以使用相对于屏幕尺寸的the sdp size unit,而不是使用dp尺寸单位。
使用the sdp size unit,您将在所有屏幕尺寸上获得相同的用户体验,只有一个xml布局。
小心使用!例如,在大多数情况下,您仍然需要为平板电脑设计不同的布局。
对于文字视图尺寸,请参阅the ssp size unit(基于sp尺寸单位)
答案 1 :(得分:3)
您可以使用以下资源文件夹为屏幕较大的设备创建布局:
7英寸的片剂res\layout-sw600dp
10英寸的片剂res\layout-sw720dp
答案 2 :(得分:1)
如果指定到那个极端是非常重要的,那么有一个方便的文件夹命名工具,那就是链接。防爆。 layout-w480dp-normal
这是屏幕尺寸,宽度至少为480dp
,属于normal
类别。注意:我没有得到开发这些详细要求的需要,但根据链接的来源,它应该可以正常工作。
答案 3 :(得分:1)
对于多屏幕支持:
values (For mdpi devices)
values-hdpi (For hdpi devices)
values-xhdpi (For xhdpi devices)
values-xxhdpi (For xxhdpi devices)
layout-sw600dp (For 7″ to 9″ Screen)
layout-sw720dp (For 10″ to above screen)
对于图片资源:创建4个可绘制文件夹:
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
答案 4 :(得分:0)
为不同的屏幕创建不同的布局。
RES /布局大/
RES /布局sw600dp /
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
查找android UI设计示例和教程:http://www.viralandroid.com/2015/11/android-user-interface-ui-design-tutorial.html
答案 5 :(得分:0)
广义密度。
A set of six generalized densities:
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
只需为不同的图像定义文件夹,如:
drawable-large-xhdpi: copy (drawable-xxhdpi images)
drawable-xlarge-xhdpi: copy (drawable-xxxhdpi images)
drawable-xxhdpi: 1080x1920 slicing
drawable-xxxhdpi : 1440x25601 slicing
在清单中添加支持多种屏幕尺寸支持。
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />