请问下,在Android中如何做到屏幕自动适配多种分辨率,在res下建立不同分辨率文件夹这个就免了,太复杂~ 5

我现在已经能获取到手机的分辨率了,请问有没有什么公式一类的获取到当前分辨率后在代码中去布局,做到自动适配?... 我现在已经能获取到手机的分辨率了,请问有没有什么公式一类的获取到当前分辨率后在代码中去布局,做到自动适配? 展开
 我来答
a173060244
2013-03-08 · TA获得超过341个赞
知道答主
回答量:218
采纳率:0%
帮助的人:86.4万
展开全部
android 不同的密度下对应的像素是不同的,中密度是 1:1的关系,高密度是1:1.5,低密度是1:0.75。如果你的图片默认是放在drawable里,那这是默认中密度下的,如果手机是高密度,就会把图片拉伸1.5倍再显示,这样图片可能会有失真的情况。
系统的图片处理是在不同的密度下做成不同像素的图片。比如:一张图片 低密度下放入一张 36*36 ,中密度下是 48*48, 高密度下是64*64。
如果你只是背景图片填充屏幕,你只要设置fill_parent就可以实现,但是你里面的内容在不同的密度下就会显示大小都不同, 如果里面的内容不管是什么密度下都要按照那个比例来的话(比如最上面是title,中间是内容,下面是底部懒,你想这个在不同的手机下都以1:9:1的比例显示出来),那就可以设置layout_weight ,最外面Linearlayout 里面的每个布局 的width设置为wrap_content,同时设置weight,这个数值要反过来设置,这样就能保证在任何手机上都是以这个比例显示内容。
其实也可以只做一套图 放在中密度 或者高密度下 然后让程序自己去拉伸。
如果需要设置大小,最好是在布局里设置dip,这样就能保证在不同的密度下显示大小一样,如果程序代码里控制,代码里控制的是px, 在不同的密度下就会显示不同,以上是我自己研究的,如果不对请指出,一起讨论
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式