Android进阶之路

Android适配你需要学习哪些东西?

2022-05-07  本文已影响0人  码农的地中海

一、前言:

把一些数据给弄得适当,适合以便于在View上显示。可以看作是界面数据绑定的一种理解。它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等。 适配器就像显示器,把复杂的东西按人可以接受的方式来展现。

二、数据处理:

那么适配器是怎么处理得到的数据,并把它显示出来的呢。其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法:

下面这个方法是最重要的相比于其它几个方法,它显式的定义了,适配器将要 以什么样的方式去显示我们所填充的数据,在自定义的适配器里面我们通常会给它写个布局文件 publicView getView(int position, View convertView, ViewGroup parent) 我们常用的适配器一共有三个:

这三个,他们都是继承于BaseAdapter 。

三、分辨率适配:

1.基础知识

屏幕尺寸

英寸,1英寸=2.54厘米。比如常见的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等

屏幕分辨率(px)

屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素x横向像素,如1960x1080。

屏幕像素密度(dpi)

屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数

密度无关像素(dip/dp)

密度无关像素(Density Independent Pixels)是由屏幕像素密度和屏幕分辨率决定,以160dpi作为基准,1dp(1dip)=1px,320dpi时,1dp=2px。

字体大小(sp)

Sp是专门为字体准备的单位,其求解方式与密度无关像素(dp)相同。

mdpi、hdpi、xdpi、xxdpi、xxxdpi

根据google官方规定,其代表的像素密度如下:

QQ截图20220507195321.png

一般图片大小要求如下:

QQ截图20220507195339.png

注:只需要适配800x480、854x480、960x540、1184x720、1280x720、1920x1080这六种分辨率。

2.标注、切图

1.只需要提供一套标注即可。

原则上需要为不同分辨单独进行标注,但由于开发成本等各种考虑。

选取320dpi下(分辨率为:720*1280)进行设计,此分辨率下1dp=2px。

另外视觉可以直接从高分辨率进行设计、标注、切图,这样可以方便适配低分辨率。

2.只需要提供一套切图即可。

原则上设计师需要为不同分辨率单独标注切图,同样根据开发成本等要求。

1.一般采用7201280的来设计。切图可以直接适配1201280分辨率的机型。

2.720*1280下的切图资源基本可以适配其他机型,有些特殊的切图需要单独适配的,比如icon等。

3.适配480*800的机型,只需要把切图/1.5即可。

4.适配10801920机型,只需要把切图1.5即可。

5.适配10801920的时候,不要单独硬生生的将图标放大1.5倍。这就要求在7201280下画图的时候,尽量采用矢量图形来画 图。比如在7201280下图图标是48px48px的时候,适配10801920时候,48px1.5=72px。把矢量图形调整为72px即可。把 切图资源给开发,开发会把切图单独放到xxhdpi的文件目录下,就会自动适配1080*1920的了。

同样要是适配480*800的,48px/1.5=32px,把切图给开发,开发会把切图资源单独放到hdpi的目录下,就会自动适配的。

720*1280下的切图资源,开发是放到xhdpi的目录下的。

6.使用相对单位进行标注。

设计师要建立相对单位概念,可以直接使用dp标注尺寸、sp标注文字大小

采用自适应布局。

7.由于Andriod设备尺寸较多,设计师设计时要考虑好固定和自适应部分。

8.标注尽量采用相对关系。

Andriod设备尺寸很多,不可能采用绝对定位方式来标注,因为绝对定位无法实现界面元素自适应,标注时说明和兄弟元素、父子元素之间的关系即可。

四、语言适配

1.创建对应文件夹

在res目录下创建对应的valus文件夹,例如:

  1. values //默认

  2. values-zh-rCN //中文简体

  3. values-zh-rTW //中文繁体123

然后在对应的values里面新建对应的string.xml文件就可以了

2.Values文件汇总如下:

五、低版本适配

1.什么是低版本?

1.1软件需要能够在低版本android系统上运行;基于此条件方法:

1.2软件需要能够在低版本上达到高版本的一些功能效果;基于此条件方法:

2.使用适配包步骤:

  1. Application使用的主题需要是AppCompat主题

  2. baseactivity需要集成CompatActivity

  3. 自定义的基础组件类型需要继承自CompatEditText。。。

  4. 使用AppCompat支持的一些属性,一般是高版本中的属性将android:前缀去掉。

六、注意事项:

1.不要混淆解决问题1和2使用的一些方法。

2.针对Compat包中无法实现的一些效果。

尾述:

全文讲到的就是Android适配的屏幕分辨率、语言、低版本的适配方法。

上一篇 下一篇

猜你喜欢

热点阅读