你们如何解决动态布局 在不同的分辩率下 显示不准的 问题

解决方案 »

  1.   

    普遍的方式是,在res下建立不同分辨率的layout,如下:800*480分辨率的layout
        layout-land-800X480    横屏
        layout-port-800X480    竖屏480*320分辨率的layout
        layout-land-480X320    横屏
        layout-port-480X320    竖屏然后在相应的layout下写相应的布局,这样在不同分辨率的屏幕上,会根据屏幕的分辨率去找对应分辨率的layout下的文件进行加载
    这样的缺点就是分辨率太多的话,布局文件也需要写很多,不过可以借鉴一下。另外一种方法就是你些的布局必须严格按照UI图片所占的比例去写,这样可以保证其位置的统一,
    这种方法的缺点就是太复杂的布局很难写,且对代码的要求也很高。网上大多都是第一种方法的介绍!
      

  2.   

    我现在做的就是 把一个griview控件放中间,由于gridview中的数据 是动态的。我的做法是 1.获取屏幕的宽
    2.根据gridview设置的每个item的宽(w)+(lw)列宽 如果有三项则 width = 3*w +lw*(3-1)
    3.用屏幕的宽度- width 最后除2 这个算法没问题吧但是在电脑上测试没问题 放到手机上就不准了 郁闷