android屏幕适配

浅谈android屏幕适配

  1. android适配说真的对于一个刚接触不久的新手而言的确是挺困难的,导致这么困难的原因在这就不多说了。在这里我就说说我平常怎么适配的吧。
  2. 官方对于屏幕适配这块也很无奈,但还是给出解决方案也就是现在android常用的单位dp,sp。但是一开始做项目时就发现了这种适配方式完全不行,很简单你写自己创建一个demo。用dp作为单位你就会发现在4.7和5.5寸及以上的屏幕上出现很大的差距。为什么呢?因为dp的定义是在不同大小的手机上显示相同的大小(至少我是这么理解 详情可以可以去看看官方的解释)这就导致小尺寸的手机上显示不下,大手机上不够的情况。
  3. 废话就不多说了,曾经我也请教过别人给出的答复就是目前有两种比较好的方式进行适配。1:利用代码对控件的宽高,根据获取手机的分辨率动态调整宽高。加上线性布局的权重适配方式,这样就可以到达适配。2:根据不同的资源文件进行适配。
  4. 相信大家都知道每次我们创建一个项目,不管是ec还是as都会自动帮我创建这几个文件夹
    android屏幕适配
    这几个文件夹有什么用呢? 当我我们运行在768*1280分辨率左右的手机时这时候我们在这五个文件夹下面放五张图片(文件名必须一样)然后呢你就会发现系统直接就会使用drawable-xdpi这个文件夹下面的图片。至于原因呢? 哈哈 可以 去看看hongyang大神的屏幕适配方案,或者官方给出的答复。
  5. 我们可以利用这点在资源文件下面创建显示不同屏幕尺寸的的文件,然后文件里面放入我们需要的单位我们在使用时直接使用这里面的单位即可。如下
    android屏幕适配
    android屏幕适配
    android屏幕适配
  6. 不知道有没有和我一样的问题为什么是px,其实这里是随意的,只是自动生成器生成的默认单位是px而已,但是效果是一样的,个人觉得用dp或许对得起官方吧 哈哈 本篇文章只是对于屏幕适配的方案个人简介,写的也不详细 可以去参考hongyang大神的屏幕适配方案。
    传送门:
    http://blog.csdn.net/lmj623565791/article/details/45460089

    还有为什么不用代码适配,这个看个人习惯了。代码适配呢代码量会上升,而且也并不那么容易,所以我直接就放弃了,感兴趣的也可以看看。