我对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。它有时接近,但不够接近。
答案 0 :(得分:1)
如果您可以在XML中执行此操作,则可以使用属性为layout_weight的LinearLayouts。如果你想要你的项目是屏幕的3/4,只需给它一个3的权重并添加一个重量为1的空视图。但要注意 - 这是性能密集的。