【发布时间】:2015-02-13 23:31:48
【问题描述】:
我正在将几个 ImageView(鸡蛋)放入 RelativeLayout
我想让它们都以相同的大小在行中对齐,但是如果没有足够的空间放置它们,RelativeLayout 只会缩小它们,而所有剩余的都将被省略。
有什么方法可以告诉RelativeLayout 调整它们的大小,使它们都适合屏幕并具有统一的尺寸(与屏幕尺寸和分辨率无关)? 它应该看起来像这样,但是所有这些都包括: (https://docs.google.com/drawings/d/1H1Ij1hyxva2WVxb7HM6jNhju3VLeVn_W-mHhh3VHtJg/edit)
这是我的代码的一部分
private void testLoadEggs() {
RelativeLayout.LayoutParams params;
RelativeLayout rl = new RelativeLayout(getContext());
List<ImageView> imageEggs = new ArrayList();
for (int i = 0; i < 11; i++) {
imageEggs.add(new ImageView(getContext()));
SVG svg = SVGParser.getSVGFromResource(this.getResources(), R.raw.white_egg);
imageEggs.get(i).setImageDrawable(svg.createPictureDrawable());
params = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(ALIGN_PARENT_BOTTOM);
if (i==0)
{
params.addRule(ALIGN_PARENT_LEFT);
}
else {
params.addRule(RIGHT_OF,i-1);
}
imageEggs.get(i).setId(i);
imageEggs.get(i).setVisibility(View.VISIBLE);
rl.addView(imageEggs.get(i), params);
}
RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
params2.addRule(ALIGN_PARENT_BOTTOM);
params2.addRule(CENTER_HORIZONTAL);
this.addView(rl, params2);
}`
实际调用:
this.setBackgroundColor(Color.parseColor("#81D4FA"));
this.setGravity(Gravity.CENTER);
testLoadEggs();
【问题讨论】:
标签: android android-layout imageview android-relativelayout