Android屏幕适配专题
来源:互联网 发布:微信红包牛牛源码教程 编辑:程序博客网 时间:2024/06/11 04:03
如何确定对哪些屏幕尺寸进行适配
在一些第三方网站进行查看,比如友盟等推送集成网站或者其他第三方。对市面上主流的手机屏幕尺寸进行适配。
重要概念
屏幕尺寸
屏幕尺寸的计量单位为inch(英寸),1inch约等于2.54cm。手机屏幕尺寸说的是手机屏幕对角线的长度。
计算单位
- px(像素):屏幕显示的最小计量单位
- dpi(像素密度)
计算方式:dpi=x2+y2−−−−−−√inch
x是屏幕宽的像素,y是屏幕长的像素,inch是屏幕尺寸 - dip的计算方式:
1dp=dpi160∗px
dpi是像素密度,在像素密度为160的时候,1dp=1px - sp是文本大小的单位,官方推荐的大小为12sp、14sp、18sp、22sp四个尺寸;
- 像素区分:不同文件夹存放的dpi大小范围
在Google官方开发文档中,说明了 mdpi:hdpi:xhdpi:xxhdpi:xxxhdpi=2:3:4:6:8 的尺寸比例进行缩放。例如,一个图标的大小为48×48dp,表示在mdpi上,实际大小为48×48px,在hdpi像素密度上,实际尺寸为mdpi上的1.5倍,即72×72px,以此类推。
Android主要分辨率对应的文件名称:
1280*720—xhdpi
1920*1080—xxhdpi
854*480–hdpi
960*540–hdpi
一般情况下,2k分辨率对应xxxhdpi,1080对应xxhdpi,720对应xhdpi
支持各种屏幕尺寸的解决方案
wrap_content的使用
wrap_content是包含组件大小大小不固定;
weight的使用
weight只有在LinearLayout中才可以使用,weight的含义是占剩余控件的比例。match_parent的意思是一个全屏的长度;
尺寸限定符
新建layout-large文件夹,新建布局文件放在给文件夹中,文件名必须与layout文件夹中的文件名对应,这种写法在android3.2之前使用,应用与平板上,在之后版本不起作用。Android3.2之后使用最小宽度限定符新建layout-sw600dp文件夹,sw=small width该文件夹中的布局代表着在宽度为600dp以上的设备上使用。
限定符
在加入限定符以后,在不同的情况下,斯通股将会在不同的文件夹下面找寻定义的文件
屏幕方向限定符
在文件夹名后添加-port(竖直方向)-land(水平方向)
尺寸大小限定符
在文件夹名后添加-sw[判定的最小尺寸],例如
-sw600dp意思就是当屏幕的宽度大于600dp的时候在这个文件夹中进行查询。
最小版本限定符
在文件夹后面加-V[api版本号],例如-v11表示在api11以上的系统里使用该文件夹下的文件代替默认文件夹中的文件。
使用布局别名
在res下建立 res/layout/main.xml
:单面板布局,布局文件 res/layout/man_twopanes.xml
:双面板布局,布局文件 res/values/layout.xml
默认布局赋值别名文件 res/values-sw600dp/layout.xml
宽度大于600dp后的布局赋值别名文件 res/values-sw800dp/layout.xml
宽度大于800dp后的布局赋值别名文件
res/valuse/layout.xml
默认布局
<resources> <item name="main" type="layout">@layout/main</item></resources>
res/valuse-sw600dp/layout.xml
宽度大于600dp的布局
<resources> <item name="main" type="layout">@layout/main_twopanes</item/></resources>
res/valuse-sw800dp/layot.xml
宽度大于800dp 的布局
<resources> <item name="main" type="layout">@layout/main_twopanes</item/></resources>
这样就有了main为别名的布局,在activity中使用setContentView(R.layout.main)
即可。
- Android屏幕适配专题
- 【Android】屏幕适配
- android屏幕适配
- android屏幕适配
- android 屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android屏幕适配
- android 屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android 屏幕适配
- android屏幕适配
- Android屏幕适配
- Android屏幕适配
- Android 屏幕适配
- android屏幕适配
- CCF 201312-4 有趣的数
- cadence16.6差分约束和走线
- 数组去重的两种方法
- 封装:MEF组件式框架封装
- 【SDOI2013】【BZOJ 3129】方程 (转)
- Android屏幕适配专题
- 常用正则sql 查询
- python中turtle模块画没有角的方格
- JDK1.5新特性--静态导入
- tomcat 部署web项目,2个项目端口号要区分
- Spring MVC入门
- mysql rank 排序
- QT4.8.6移植到TQ2440
- 常用socket函数详解