手机尺寸不同,分辨率不同就造成适配的问题。(分辨率px=宽X高,尺寸=手机对角线的物理尺寸,密度=尺寸/分辨率,如果密度都一样了就不存在适配的问题了)
目前的主流的就是720*1280 1920x1080 5英寸或者5.5英寸的智能安卓手机
屏幕适配问题的本质
使得“布局”、“布局组件”、“图片资源”、“用户界面流程”匹配不同的屏幕尺寸
布局:尽量使用相对布局,禁用绝对布局,使用size限定符创建layout-small,layout,layout-large,layout-xlarge,这下面的布局名字要是一样了又会带来维护的不方便,我就需要布局别名,在res下创建对应的value-xxx,在resouce里添加<item name="main" type="layout">@layout/main_xxx</item>(适用于手机,平板,电视一个app)
布局控件:要规定组件大小的可以使用wrap-content和match-parent配合padding、margin、在线性布局里可以使用weight设置权重分配空间。如果要设置长高和字体大小推荐使用dp和sp,根据限定符在res下创建value-分辨率文件,根据分辨率写出dp对应的px,网上自动生成工具
图片资源:使用9patch图片,系统就会根据控件的大小自动地拉伸你想要拉伸的部分。还有根据图片文件夹放图片。适用xhdpi成首选,因为
市面上大多是720x1080,所以我们适配这就行。1080x1920用这套图也不会出现明显的适配问题。
设置imageview的scaletype属性,设置cetercrop会有最好的效果
动态设置,获取屏幕的宽高来设置dialog或popwindow