关于android屏幕自适应的个人心得 - 无涯子
这是一些博主自己对安卓的屏幕自适应的理解,有什么不到之处也别喷。首先,观察新建的项目res文件夹,大家估计都能找到drawable文件夹有很多个,如drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xhdpi,这些文件夹是谷歌公司为屏幕自适应做的准备,意思说各位朋友在做屏幕自适应之前应该准备5套资源图片来出来该问题。相应的比例关系大概是 1 : 0.5 : 0.75 : 1.5 : 2 ,而现在大部分4.0的机子不再适用于240*320和320*480的屏幕了,而转向如480*800、720*1280等一些更大的屏幕所以作图可以只做1& : 1.5& : 2 即可。介绍问drawable文件夹下来该说说values文件夹了,同样读者可以看到也是对应的有许多类似文件夹(如果没有手动新建也是可以的),values 、values-large、values-xlarge等,这些文件夹的作用也是为了自适应屏幕大小而准备的。其中重要的一个文件就是dimens。还有就是layout多个文件,详细读者应该都熟悉这些文件夹的作用,这里不再细细解读。好了现在手里可用的资源就是上面介绍的,进入正题。博主在处理屏幕自适应的问题上想到了三种(1)多套layout布局(建议使用频率降低)、(2)多套图和多套dimens配合使用,(3)多套布局、多套图、多套dimens混合使用。方法一:建立layout、layout-large、layout-xlarge三个文件夹(如果还想适应240*320和320*480的话还可以建立layout-small、layout-middle),假设layout文件夹下新建一个test.xml的文件,定义该文件下所有的数量值基准为1,所有的控制大小、间距、填充的量值全部写死,比如padding10、margin10,layout_width=100等。在layout-large文件夹下,也新建一个文件命名与layout下的文件同名也叫test.xml,但是该文件的量值应该全部是layout文件夹下量值的1.5倍,这样大屏的适配就基本算是完成了。依葫芦画瓢也可以完成超大屏的适配。完成之后再做检查,将集中不合适的量值修改即可完成粗略的屏幕自适应。等到项目在真机上跑起来的时候,安卓系统会根据当前屏幕大小来决定,那一套layout资源在屏幕上显示。如果想划分得更细读者还可以建立多个layout资源文件,在原基准之上添加1.15、1.25、1.35、1.45倍数的layout布局。这样屏幕自适应越趋于完美,只能说无限接近完美,而达不到完美。这种方法理解起来相对并不困难,就是处理的布局较多时,此方法带来的工作量就会成几何级的速率增长,建议慎用。
方法二:一套layout布局,多套量值适应 这种方法操作就相对简单了,以做出一套layout布局来适应480*800的屏幕也就是说,适应基准屏幕即可,但是其中所有的例如padding、margin、width、height、textsize就不能写死了,全部变为引用值,引用值在values文件夹下的dimens中建立,dimens文件里面可以定义尺寸和字体大小,例如官方给出的例子& &dimen name=&activity_horizontal_margin&& 16dp &/dimen& 定义的尺寸。values文件夹下的dimens文件对应的基准设为1,相应的其他dimens对应的为1.5和2 。例如在values-large下的dimens文件内定义&dimen name=&activity_horizontal_margin&& 24dp &/dimen&、在values-xlarge下的dimens定义&dimen name=&activity_horizontal_margin&& 32dp &/dimen& 。这样在layout布局下控件大小、padding、margin等的值应该写成例如android:layout_width=&@dimen/activity_horizontal_margin&这样的形式,就是引用了一个变量来作为控件的宽度,目的是让安卓系统自己去判断该怎么显示。这个方法是博主之前用的方法,效果还不错。下面给出图示: 这是values目录下的dimens,定义了许多字体大小
下面是在values-lagre下定义的字体大小
下面是在values-xlarge下dimens中字体带下的定义
可以看出名称没有变化,只是量值发生了变化,这样就可以大概结局屏幕自适应的问题,其他一些需要改动的另行设置即可。方法三:混合使用在前两种方法的基础之上,部分做多布局,部分做多变量,这样可以最大程度的解决自适应的方法,就是在做的过程中需要时刻抓住该怎样的界限,这个方法博主也在尝试,不过完全可以预期此方法的好处。 总结,以前经常看到一些文章提到了屏幕密度,屏幕尺寸的问题,博主感觉应该是把问题复杂化而后扯远了。只要跟着谷歌公司的意图来做,应该不会出太大的意外。好了时间不早了,洗洗睡吧,有问题请留言。 勿喷!!!
最新教程周点击榜
微信扫一扫360款java游戏,320*240的分辨率,也可以自适应屏
(1.41 KB, 下载次数: 35)
日 23:03 上传
点击文件名下载附件
(80.89 KB, 下载次数: 7)
日 23:01 上传
点击文件名下载附件
(134.27 KB, 下载次数: 14)
日 23:00 上传
点击文件名下载附件
(534.5 KB, 下载次数: 45)
日 23:00 上传
点击文件名下载附件
(92.38 KB, 下载次数: 18)
日 23:00 上传
点击文件名下载附件
(291.26 KB, 下载次数: 6)
日 23:00 上传
点击文件名下载附件
(126.93 KB, 下载次数: 3)
日 23:00 上传
点击文件名下载附件
(87.18 KB, 下载次数: 6)
日 23:00 上传
点击文件名下载附件
(247.68 KB, 下载次数: 4)
日 23:00 上传
点击文件名下载附件
(130.51 KB, 下载次数: 0)
日 23:00 上传
点击文件名下载附件
(119.68 KB, 下载次数: 25)
日 23:00 上传
点击文件名下载附件
(283.55 KB, 下载次数: 23)
日 23:00 上传
点击文件名下载附件
(333.54 KB, 下载次数: 45)
日 23:00 上传
点击文件名下载附件
(440.27 KB, 下载次数: 9)
日 23:00 上传
点击文件名下载附件
(129.66 KB, 下载次数: 1)
日 23:00 上传
点击文件名下载附件
(224.72 KB, 下载次数: 7)
日 23:00 上传
点击文件名下载附件
(73.29 KB, 下载次数: 3)
日 23:00 上传
点击文件名下载附件
(214.29 KB, 下载次数: 6)
日 22:59 上传
点击文件名下载附件
(357.61 KB, 下载次数: 28)
日 22:59 上传
点击文件名下载附件
(361.55 KB, 下载次数: 42)
日 22:59 上传
点击文件名下载附件
(125.48 KB, 下载次数: 2)
日 22:59 上传
点击文件名下载附件
(209.08 KB, 下载次数: 30)
日 22:59 上传
点击文件名下载附件
(327.03 KB, 下载次数: 3)
日 22:59 上传
点击文件名下载附件
(326.7 KB, 下载次数: 45)
日 22:59 上传
点击文件名下载附件
(70.96 KB, 下载次数: 11)
日 22:59 上传
点击文件名下载附件
(646.16 KB, 下载次数: 17)
日 22:59 上传
点击文件名下载附件
(197.13 KB, 下载次数: 10)
日 22:59 上传
点击文件名下载附件
(58.1 KB, 下载次数: 0)
日 22:59 上传
点击文件名下载附件
(97 KB, 下载次数: 29)
日 22:59 上传
点击文件名下载附件
(427.8 KB, 下载次数: 21)
日 22:59 上传
点击文件名下载附件
(188.35 KB, 下载次数: 6)
日 22:59 上传
点击文件名下载附件
(74.46 KB, 下载次数: 3)
日 22:59 上传
点击文件名下载附件
(267.98 KB, 下载次数: 3)
日 22:59 上传
点击文件名下载附件
(130.6 KB, 下载次数: 8)
日 22:59 上传
点击文件名下载附件
(95.63 KB, 下载次数: 2)
日 22:59 上传
点击文件名下载附件
(618.13 KB, 下载次数: 12)
日 22:59 上传
点击文件名下载附件
(420.96 KB, 下载次数: 3)
日 22:59 上传
点击文件名下载附件
(119.12 KB, 下载次数: 7)
日 22:59 上传
点击文件名下载附件
(102.19 KB, 下载次数: 13)
日 22:59 上传
点击文件名下载附件
(75.54 KB, 下载次数: 6)
日 22:59 上传
点击文件名下载附件
(482.64 KB, 下载次数: 20)
日 22:59 上传
点击文件名下载附件
(250.51 KB, 下载次数: 7)
日 22:59 上传
点击文件名下载附件
(189.76 KB, 下载次数: 0)
日 22:59 上传
点击文件名下载附件
(154.51 KB, 下载次数: 0)
日 22:59 上传
点击文件名下载附件
(93.57 KB, 下载次数: 5)
日 22:59 上传
点击文件名下载附件
(134.03 KB, 下载次数: 4)
日 22:59 上传
点击文件名下载附件
(44.86 KB, 下载次数: 25)
日 22:58 上传
点击文件名下载附件
(226.05 KB, 下载次数: 7)
日 22:58 上传
点击文件名下载附件
(427.53 KB, 下载次数: 8)
日 22:58 上传
点击文件名下载附件
(50.37 KB, 下载次数: 10)
日 22:58 上传
点击文件名下载附件
(135.17 KB, 下载次数: 10)
日 22:58 上传
点击文件名下载附件
(423.74 KB, 下载次数: 13)
日 22:58 上传
点击文件名下载附件
(156.22 KB, 下载次数: 2)
日 22:58 上传
点击文件名下载附件
(564.92 KB, 下载次数: 9)
日 22:58 上传
点击文件名下载附件
(281.62 KB, 下载次数: 4)
日 22:58 上传
点击文件名下载附件
(165.78 KB, 下载次数: 0)
日 22:58 上传
点击文件名下载附件
(91.87 KB, 下载次数: 2)
日 22:58 上传
点击文件名下载附件
(756.24 KB, 下载次数: 23)
日 22:58 上传
点击文件名下载附件
(183.35 KB, 下载次数: 4)
日 22:58 上传
点击文件名下载附件
(62.8 KB, 下载次数: 2)
日 22:58 上传
点击文件名下载附件
(175.8 KB, 下载次数: 2)
日 22:58 上传
点击文件名下载附件
(207.2 KB, 下载次数: 4)
日 22:58 上传
点击文件名下载附件
(203.78 KB, 下载次数: 0)
日 22:58 上传
点击文件名下载附件
(174.65 KB, 下载次数: 2)
日 22:58 上传
点击文件名下载附件
(495.57 KB, 下载次数: 21)
日 22:58 上传
点击文件名下载附件
(366.38 KB, 下载次数: 7)
日 22:58 上传
点击文件名下载附件
(328.03 KB, 下载次数: 3)
日 22:58 上传
点击文件名下载附件
(156.29 KB, 下载次数: 0)
日 22:58 上传
点击文件名下载附件
(232.04 KB, 下载次数: 20)
日 22:58 上传
点击文件名下载附件
(320.32 KB, 下载次数: 21)
日 22:58 上传
点击文件名下载附件
(187.99 KB, 下载次数: 6)
日 22:58 上传
点击文件名下载附件
(247.47 KB, 下载次数: 4)
日 22:58 上传
点击文件名下载附件
(317.19 KB, 下载次数: 0)
日 22:57 上传
点击文件名下载附件
(216.24 KB, 下载次数: 40)
日 22:57 上传
点击文件名下载附件
(115.67 KB, 下载次数: 5)
日 22:57 上传
点击文件名下载附件
(105.41 KB, 下载次数: 21)
日 22:57 上传
点击文件名下载附件
(467.81 KB, 下载次数: 27)
日 22:57 上传
点击文件名下载附件
(169.46 KB, 下载次数: 0)
日 22:57 上传
点击文件名下载附件
(367 KB, 下载次数: 3)
日 22:57 上传
点击文件名下载附件
(247.88 KB, 下载次数: 8)
日 22:57 上传
点击文件名下载附件
(479.68 KB, 下载次数: 37)
日 22:57 上传
点击文件名下载附件
(100.04 KB, 下载次数: 2)
日 22:57 上传
点击文件名下载附件
(216.44 KB, 下载次数: 1)
日 22:57 上传
点击文件名下载附件
(93.5 KB, 下载次数: 0)
日 22:57 上传
点击文件名下载附件
(56.02 KB, 下载次数: 12)
日 22:57 上传
点击文件名下载附件
(212.86 KB, 下载次数: 12)
日 22:57 上传
点击文件名下载附件
360款java游戏,320*240的分辨率,如果想下的朋友也可以
松鼠币 +10
该帖共收到 90 条回复!
发表于 日 07:22
都可以触屏么?
发表于 日 19:55
RE: 360款java游戏,320*240的分辨率,也可以自适应屏
帖名叫java全触屏游戏,也在这个区,你看落名是不辞辛苦就行了
发表于 日 20:31
发表于 日 20:34
发表于 日 20:36
发表于 日 20:49
看看,呵呵
发表于 日 18:47
哇& &不错啊·····
发表于 日 14:12
真的可以自适屏?
发表于 日 14:20
下个试试看
发表于 日 14:25
额,无法自适屏,一运行就卡死
发表于 日 20:52
试试,不知道收费不
发表于 日 22:23
自适应屏范围是神马