我正在寻找一种方法来保持所有设备上的视图大小比例。我尝试了许多数学计算(例如混合屏幕尺寸,密度,百分比等),但没有找到任何解决方案,每个测试设备只有不同的结果。
让我举一个例子:假设我在sw-360dp上测试应用程序,最终找到一个有效的大小视图。
relativeLayoutParams.width = 150;
relativeLayoutParams.height = 250;
这样可以创建一个大小约为屏幕宽度的1/3和屏幕高度的1/3的视图。
如何动态到达宽度和高度的值,让视图保持1/3宽度到1/2高度的宽高比?至少我认为文档建议的内容是:"从屏幕大小的百分比计算精确的视图大小(或边距,填充等)"。
或者我误解了它?
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以通过定义比率来获取设备屏幕尺寸
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
然后,
width = (int) size.x * 1/3 ;
height = (int) size.y * 1/2 ;