我的 Android 应用适用于 Gingerbread 及更高版本。它创建图形和文本表的屏幕输出。每个都是方形的,并使用图像视图绘制。这些与布局 xml 一起放置在线性布局中。我希望正方形大小相同且尽可能大。在纵向模式下,它们是堆叠的,而在横向模式下,它们是并排的。该应用程序没有绘制任何其他内容。
我使用这段代码来了解要绘制什么大小的正方形:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
height = metrics.heightPixels;
width = metrics.widthPixels;
……
landscape=width>height;
//use fudge factor for vertical display (account for title bar, etc.)
if (!landscape)
graphSize=(int) (0.9f*(float)height/2.0f);//reduce by 10%
if (landscape)
graphSize=width/2;
我使用 graphSize 来设置输出的图像视图的大小。
认识到指标提供的宽度和高度仅给出了一个近似值(出于多种原因,我不想进入),我只是在调整正方形大小时将高度减少了一个软糖因子。在横向模式下,使用超过 2 的宽度作为正方形大小可以提供良好的显示效果,从而很好地利用了可用的屏幕空间。在纵向模式下,使用 height/2 效果不佳:第二个绘制的正方形的尺寸减小了。所以我将高度降低 10%,然后除以 2 得到正方形大小。这可行,但不能很好地利用可用空间。有什么建议么?