一种尺寸适合所有屏幕分辨率

时间:2012-03-14 07:59:48

标签: android size resolution

我对Android非常陌生。比不到一个星期新。我希望确定所有内容的大小,如果它占用,让我们在一部手机上说出屏幕的四分之一,我希望它占据所有手机屏幕的1/4。我一直在为自己的方法而努力,但我不喜欢它,必须有更好的方法。这就是我想出来的。

public int displayWidth(double ratioIn){
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    double resolutionWidth = dm.widthPixels; //gets the width in pixels
    double ratio = (resolutionWidth/100); //devides by 100 so that ratio will be in terms of %
    int displayWidth = (int)(ratio*ratioIn); 
    return displayWidth;
}

问题是精确度有所下降(虽然我已经尝试了480分辨率并且它几乎是完美的。)有更好的方法吗?我尝试过使用dp。它有时接近,但不够接近。

1 个答案:

答案 0 :(得分:1)

如果您可以在XML中执行此操作,则可以使用属性为layout_weight的LinearLayouts。如果你想要你的项目是屏幕的3/4,只需给它一个3的权重并添加一个重量为1的空视图。但要注意 - 这是性能密集的。