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

2022-03-22 家居 77阅读
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,在不同的密度下就会显示不同,以上是我自己研究的,如果不对请指出,一起讨论
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com