android 中,我有一张背景图片是 640*960像素,请问如何布局使得自动适应各种屏幕(HVGA,WVGA...)
发布网友
发布时间:2022-05-02 10:19
我来回答
共2个回答
热心网友
时间:2023-10-02 23:59
640 * 960的是ios的分辨率, 用在android不同密度不同尺寸下会出现各种问题。android手机最适合的是 800 * 480的,这个像素的图基本能满足各个手机,顶多就是高度方面会拉伸,宽度的改变不大。
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,这个数值要反过来设置,这样就能保证在任何手机上都是以这个比例显示内容。
热心网友
时间:2023-10-03 00:00
各种分辨率都填充屏幕的话肯定会有拉伸或压缩的现象。。在最外层的Layout里面作为背景图,并且设置高宽都是fill_parent就可以了。。