机型适配

手机适配主要包括三个方面:语言适配、屏幕适配、SDK平台的适配。
一、1.屏幕尺寸
屏幕尺寸屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米比如常见的屏幕尺寸有:2.4、2.8、3.5、3.7、4.2、4.7、5.0、5.5、6.0等

  1. 屏幕分辨率
    屏幕分辨率是指在横纵方向上的像素点数,单位是px,1px=1个像素点。一般以横向像素数纵向像素数 表示,如19201080。
  2. 屏幕像素密度及密度比值
    屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。一英寸里面有160个像素,这个屏幕的像素密度就是160dpi。
  3. dp、dip、sp、px
    px:像素。我们应该是比较熟悉的,前面的分辨率就是用的像素为单位,大多数情况下,比如UI设计、Android原生API都会以px作为统一的计量单位,像是获取屏幕宽高等。
    dip和dp是一个意思,都是Density Independent Pixels的缩写,即密度无关像素,上面我们说过,dpi是屏幕像素密度,假如一英寸里面有160个像素,这个屏幕的像素密度就是160dpi,那么在这种情况下,dp和px如何换算呢?在Android中,规定以160dpi为基准,1dip=1px,如果密度是320dpi,则1dip=2px,以此类推。px =320dpi / 160dpi * 10dp = 20px
    sp,即scale-independent pixels,与dp类似,但是可以根据文字大小首选项进行放缩,是设置字体大小的御用单位。
    二、机型适配的解决方案
    屏幕适配(相对布局、尺寸限定符、最小宽度限定符、屏幕方向限定符、自动拉伸位图)
     支持所有屏幕尺寸
    1、 使用wrap_content、match_parent
    2、 使用线性布局,并使用weight属性。
    3、 使用相对布局。
     尺寸限定符
     屏幕方向限定符
     最小宽度限定符
     自动拉伸位图
    三、版本适配
    版本适配方式一:
    values-v14代表在API 14+的设备上,用该目录下的styles.xml代替res/values/styles.xml
    values-v21代表在API 21+的设备上,用该目录下的styles.xml代替res/values/styles.xml

其中API 14+代表android 4.0 +
其中API 21+代表android 5.0 +
版本适配方式二:
动态java控制:
对于 target sdk 对不同机器的兼容应该使用以下策略:
1.应该尽量使用较高版本的sdk去编译,在app的build.gradle中设置:
2.在使用相关的sdk api时,应该针对明白对不同sdk去处理

你可能感兴趣的:(机型适配)