Android 适配不同的屏幕[Lesson 2 - 适配不同屏幕密度]
Supporting Different Densities适配不同的屏幕密度
上一篇文章和大家分享了如何适配不同大小的屏幕,有个概念需要提前弄清楚,屏幕大的不一定就分辨率高,详细请看下面的内容。Thislessonshowsyouhowtosupportdifferentscreendensitiesbyprovidingdifferentresourcesandusingresolution-independentunitsofmeasurements.
[我们需要通过提供不同的resources来support不同的屏幕密度,使用一种独立与分辨率的测量单元来表示(也就是dp)]
UseDensity-independentPixels[使用设备独立像素dp/sp][前一节,我们就提到过,一定要避免使用绝对pixels(像素)的方式来设计layout的大小或者距离,因为不同的的屏幕有不同的像素密度,所以相同的像素在不同的设备上物理大小会有区别。通常我们都会在需要的时候使用dp,或者sp来表示大小]
-
- dp:A dp is a density-independent pixel that corresponds to the physical size of a pixel at 160 dpi(dots per inch:每英寸点数).
- dp也就是dip:device independent pixels(设备独立像素)
- dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px
- 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素
- dp:A dp is a density-independent pixel that corresponds to the physical size of a pixel at 160 dpi(dots per inch:每英寸点数).
- <Button android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/clickme"
- android:layout_marginTop="20dp" />
- sp:An sp is the same base unit, but is scaled by the user's preferred text size (it’s a scale-independent pixel), so you should use this measurement unit when defining text size (but never for layout sizes).
- scaled pixels(刻度像素). 主要用于定义字体的大小,而从来不再layout上使用
- <TextView android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="20sp" />
- px:pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多
- Provide Alternative Bitmaps [提供可选择的图片]
xhdpi:2.0
hdpi:1.5
mdpi:1.0(baseline)
ldpi: 0.75This means that if you generate a 200x200 image for xhdpi devices, you should generate the same resource in 150x150 for hdpi, 100x100 for mdpi and finally a 75x75 image for ldpidevices.[这意味着如果我们为xhdpi的设备生成了一张200x200的图片,同时也需要为hdpi的设备生成150x150的图片,为mdpi的设备生成100x100的图片,最后为ldpi的设备生成75x75的图片]需要像下面一样来放置那些特殊适配的文件res/drawable-xhdpi/
awesomeimage.png
drawable-hdpi/
awesomeimage.png
drawable-mdpi/
awesomeimage.png
drawable-ldpi/
awesomeimage.png这样之后,在任何地方引用@drawable/awesomeimage,系统都会自动根据当前设备的dpi来选择合适的图片进行显示。For more tips and guidelines for creating icon assets for your application, see the Icon Design Guidelines.相关推荐
magic00 2020-01-29
Ifree团队 2019-12-10
csdnuuu 2019-12-14
绿豆饼 2019-12-11
芒果先生Mango 2015-03-10
whale 2019-06-30
zhouanzhuojinjie 2020-05-05
csdnuuu 2019-12-10
人走丿茶凉 2019-11-18
androidstudyroom 2019-11-08
翟浩浩Android 2019-10-28
屋顶小黑猫 2015-03-16
肥皂起司 2015-05-12
zjwijy 2011-12-29
Geeny 2019-06-28
yinbaoshiguang 2019-06-28
刘炳昭 2019-06-28
Android进阶 2019-06-28
蓝蓝的天 2019-06-28