问题是这样的:我在密度1.5 NEXUS S 的屏幕上画了一个ImageButton,宽度比如是40DIP。但是放到我的平板上0.75密度,宽度看上去缩小了一倍,请教除了写2份style文件外,还有什么其他办法能让宽度自动×2吗?

解决方案 »

  1.   

    我用的就是DP,比如一个控件180DP。在NEXUS S上占一半的屏幕,放到平板上只有1/4屏幕了。NEXUS S的密度比1.5, 平板只有0.75。
    官方的文档好像说的是DP能在相同密度比下自动缩放,但是不同密度比的话只能写多分style了。有没有办法能只写一份布局文件啊
      

  2.   

    对于不同dpi的屏幕,应该有不同的资源文件吧?
    分别存放在hdpi ldpi mdpi里,而不是在layout里写不同的style文件
      

  3.   


    那hdpi ldpi里是不是各自需要一份style.xml,里面的尺寸应该不同的吧。比如在hdpi里面定义宽度100DP,那在ldpi里面就要定义200DP?
      

  4.   

    如果是图片文件的话,那只要把图片放在不同dpi的资源文件里就可以
    Button TextView这种控件,那可以用不同的xml
    不过你也可以在代码里获取屏幕分辨率和像素密度,再设置控件的大小做适配啊
      

  5.   


    布局上有很多控件,还有控件之间的间隔。在nexus s上100DP,在平板上需要200DP才能填充。有点搞不清换算公式了