900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Android不同分辨率和不同密度适配

Android不同分辨率和不同密度适配

时间:2020-05-27 03:57:11

相关推荐

Android不同分辨率和不同密度适配

官方原文地址:/training/multiscreen/screendensities.html

本文主要介绍:

1.dip dp sp 简单用法

2.适配不同分辨率屏幕图片的处理方法

支持不同的密度或分辨率

本课介绍如何通过提供不同的资源和使用的测量分辨率独立单元支持不同屏幕密度(分辨率)

使用独立的像素密度

设计你的布局时会有一个常见的错误,你必须避免使用绝对像素来定义距离或大小。定义布局的尺寸与像素是一个问题,因为不同的屏幕有不同的像素密度,所以相同的像素数可以对应于不同的设备上不同的物理尺寸。因此,指定尺寸的时候,总是请使用DP或SP单元。一个DP是对应于一个像素的160 dpi的物理尺寸,密度无关的像素。一个sp是相同的基本单元,而是由用户首选的文本大小(它是一个独立的规模像素)的缩放,所以在定义文字大小,你应该使用这种测量单元(但从来没有为布局大小)

例如,当你指定的两个视图之间的间距,而不是使用DP PX:

(这里我感觉官方没有说清楚,控件与控件之间最好用dip来表示,而不适用dp或px)

android:layout_height="wrap_content" android:text="@string/clickme" android:layout_marginTop="20dp" />

当指定文字大小,总是用SP:

android:layout_height="wrap_content"

android:textSize="20sp" />

提供可供选择的位图

由于Android运行在与各种各样的屏幕密度的设备,你应该始终提供满足每个广义密度桶的位图资源:低,中,高和超高密度。这将帮助你实现所有的屏幕密度,良好的图形质量和性能。

要生成这些图片,你应该与你的原始资源开始在矢量格式和生成使用以下尺寸的规模各密度的图像:

xhdpi: 2.0

hdpi: 1.5

mdpi: 1.0 (baseline)

ldpi: 0.75

从上面可以看出,如果你生成一个200x200的图像xhdpi设备,你应该HDPI产生相同的资源在150×150,100×100的MDPI终于为LDPI设备一个75X75的形象。

然后,将生成的图像文件,在适当的子目录下的res /,系统会自动挑选根据您的应用程序运行在设备的屏幕密度正确的:

如下目录:

MyProject/

res/

drawable-xhdpi/

awesomeimage.png

drawable-hdpi/

awesomeimage.png

drawable-mdpi/

awesomeimage.png

drawable-ldpi/

awesomeimage.png

然后,您引用@绘制/ awesomeimage任何时候,系统会选择基于屏幕的DPI适当的位图。

为您的应用程序创建图标的资产更多的提示和指引,看到图标设计准则。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。