我的Android应用程序适用于Gingerbread及以上版本。它创建图形和文本表的屏幕输出。每个都是方形的,并使用imageview绘制。它们与布局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的方形尺寸可以提供良好的显示效果,从而可以充分利用可用的屏幕空间。在纵向模式下,使用高度/ 2效果不佳:第二个绘制的正方形尺寸减小。所以我将高度减少10%然后除以2得到方形尺寸。这有效,但没有充分利用可用空间。有什么建议吗?
答案 0 :(得分:0)
你可能想要这样的东西:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="2">
<ImageView
.
.
.
android:layout_weight="1" />
<ImageView
.
.
.
android:layout_weight="1" />
</LinearLayout>