Android 针对多种屏幕进行设计 (二)支持各种屏幕密度
2015-02-12 15:37
375 查看
本教程将向您介绍如何通过提供不同资源和使用独立于分辨率的测量单位来支持不同屏幕密度。
在设计布局时,大家经常会误使用绝对像素来定义距离或尺寸,您一定要避免犯这种错误。由于各种屏幕的像素密度都有所不同,因此相同数量的像素在不同设备上的实际大小也有所差异,这样使用像素定义布局尺寸就会产生问题。因此,请务必使用
160 dpi 像素的实际尺寸相同。
例如,请使用
请务必使用
由于 Android 可在具有各种屏幕密度的设备上运行,因此您提供的位图资源应始终可以满足各类普遍密度范围的要求:低密度、中等密度、高密度以及超高密度。这将有助于您的图形在所有屏幕密度上都能得到出色的质量和效果。
要生成这些图片,您应先提取矢量格式的原始资源,然后根据以下尺寸范围针对各密度生成相应的图片。
也就是说,如果您为
150x150、100x100 和 75x75 尺寸的图片。
然后,将生成的图片文件放在
这样一来,无论您何时引用
有关为您的应用创建图标资产的更多提示和指南,请参阅图标设计指南。
使用非密度制约像素
在设计布局时,大家经常会误使用绝对像素来定义距离或尺寸,您一定要避免犯这种错误。由于各种屏幕的像素密度都有所不同,因此相同数量的像素在不同设备上的实际大小也有所差异,这样使用像素定义布局尺寸就会产生问题。因此,请务必使用 dp或
sp单位指定尺寸。
dp是一种非密度制约像素,其尺寸与
160 dpi 像素的实际尺寸相同。
sp也是一种基本单位,但它可根据用户的偏好文字大小进行调整(即尺度独立性像素),因此您应将该测量单位用于定义文字大小(请勿用其定义布局尺寸)。
例如,请使用
dp(而非
px)指定两个视图间的间距:
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/clickme" android:layout_marginTop="20dp" />
请务必使用
sp指定文字大小:
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" />
提供备用位图
由于 Android 可在具有各种屏幕密度的设备上运行,因此您提供的位图资源应始终可以满足各类普遍密度范围的要求:低密度、中等密度、高密度以及超高密度。这将有助于您的图形在所有屏幕密度上都能得到出色的质量和效果。要生成这些图片,您应先提取矢量格式的原始资源,然后根据以下尺寸范围针对各密度生成相应的图片。
xhdpi:2.0
hdpi:1.5
mdpi:1.0(最低要求)
ldpi:0.75
也就是说,如果您为
xhdpi设备生成了 200x200 尺寸的图片,就应该使用同一资源为
hdpi、
mdpi和
ldpi设备分别生成
150x150、100x100 和 75x75 尺寸的图片。
然后,将生成的图片文件放在
res/下的相应子目录中(如下所示),系统就会根据运行您应用的设备的屏幕密度自动选择合适的图片:
MyProject/ res/ drawable-xhdpi/ awesomeimage.png drawable-hdpi/ awesomeimage.png drawable-mdpi/ awesomeimage.png drawable-ldpi/ awesomeimage.png
这样一来,无论您何时引用
@drawable/awesomeimage,系统都能根据相应屏幕的 dpi 选取合适的位图。
有关为您的应用创建图标资产的更多提示和指南,请参阅图标设计指南。
相关文章推荐
- Android针对多种屏幕进行设计(一)支持各种屏幕尺寸
- Android 针对多种屏幕进行设计 (一)支持各种屏幕尺寸
- Android 针对多种屏幕进行设计 (三)实施自适应用户界面流程
- android-支持多种屏幕[密度独立性] 三
- Android training(3)-Designing for Multiple Screens(为支持多种屏幕而设计)(C)
- Android屏幕适配之支持各种屏幕密度(三)
- android-支持多种屏幕[设计替代布局和可绘制对象] 六
- Android应用开发之(支持各种密度的屏幕)
- 针对多种屏幕进行设计
- Android training(2)-Designing for Multiple Screens(为支持多种屏幕而设计)(B)
- android各种分辨率和屏幕密度
- Android针对不同的手机屏幕大小设计图片资源与编码
- android 布局如何支持多种不同屏幕尺寸
- 支持各种屏幕密度
- android 布局如何支持多种不同屏幕尺寸
- 【eoe教程】创建支持多种屏幕尺寸的Android应用
- Android提供支持不同屏幕大小的各种方法
- 如何让android 支持多种屏幕尺寸
- (Android) 针对不同屏幕解析度设计UI
- 如何使Android应用支持多种屏幕分辨率