安卓屏幕适配学习

1.什么事屏幕适配尺寸、屏幕分辨率、屏幕像素密度?

屏幕尺寸是指屏幕对角线的长度。单位是英寸,1英寸=2.54cm

屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1像素点,一般是纵向像素横向像素,如1280×720;

屏幕的分辨率是指屏幕没英寸的像素点数,单位是dpi,即“dot per inch”的缩写,像素密度和屏幕尺寸和屏幕分辨率有关。


2.什么事dp、dip、dpi、sp、px?之间的关系是什么?

dip:Density Independent Pixels(密度无关像素)的缩写。以160dpi为基准,1dp=1px ,常见的有160dpi、240dpi、320dpi

dp:同dip

dpi:屏幕像素密度的单位,“dot per inch”的缩写

px:像素,物理上的绝对单位

sp:Scale-Independent Pixels的缩写,可以根据文字大小首选项自动进行缩放。Google推荐我们使用12sp以上的大小,通常可以使用12sp,14sp,18sp,22sp,最好不要使用奇数和小数。

3.什么是mdpi、hdpi、xdpi、xxdpi、xxxdpi?怎么区分?


在Google官方开发文档中,说明了 mdpi:hdpi:xhdpi:xxhdpi:xxxhdpi=2:3:4:6:8 的尺寸比例进行缩放。例如,一个图标的大小为48×48dp,表示在mdpi上,实际大小为48×48px,在hdpi像素密度上,实际尺寸为mdpi上的1.5倍,即72×72px,以此类推。


4.文字和尺寸的适配。

可以在工程下创建不同的values文件夹:values-sw480dp, values-sw600dp, values-sw720dp-land等。比如一个控件的宽度,在10寸pad上是10dp,在8寸pad上是5dp。这时,你可以定义一个变量,button_width,然后在values-sw600dp下写5dp,在values-sw720-land下写10dp。这样就达到了在不同尺寸pad上,相应控件大小不一样的效果。(1)多使用权重(android:layout_weight)尤其是在tab切换布局,listview title及Item布局等情况下;

(2)设置宽度和高度时,尽量使用match_parent和wrap_content,避免把控件宽高设死;

(3)父容器布局选用多使用RelativeLayout,FrameLayout,GridLayout等,减少布局层次。当然,在使用权重时,得采用LinearLayout;
 (4) 在xml里,设置高度、宽度采用dp(dip),设置字体采用sp。(应该注意,在代码里面,我们写的setHeight(...)单位是px)

(5)图片适配时尽量使用SVG图片



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值