繁体   English   中英

以编程方式将imageview放在imageview下方

[英]Place imageview below imageview programmatically

我正在尝试使用布局参数将图像视图放置在另一个图像视图下,但是它不起作用。.我想要完成此任务: http : //imgur.com/eZfEI

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);

                    iv_album[i] = new ImageView(main.this);
                    iv_album[i].setImageBitmap(resized_a_p);
                    iv_album[i].setPadding(0, 5, 5, 0);
                    iv_album[i].setId(i);
                    iv_album[i].setOnLongClickListener(main.this);
                    iv_album[i].setOnClickListener(main.this);
                    if (i>1){
                        params.addRule(RelativeLayout.BELOW, iv_album[i].getId() - 1);
                    }

怎么了 ?

为每个ImageView创建一个LayoutParams对我来说有效:

RelativeLayout layout = (RelativeLayout) this.findViewById(R.id.layoutConnection);

ImageView[] iv_album = new ImageView[8];
for (int i = 0; i < 8; i++) {

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);

    iv_album[i] = new ImageView(this);
    iv_album[i].setImageDrawable(this.getResources().getDrawable(R.drawable.ic_launcher));
    iv_album[i].setPadding(0, 5, 5, 0);
    iv_album[i].setId(i + 1); // BELOW id 0 doesn't work
    if (i > 0) {
        params.addRule(RelativeLayout.BELOW, iv_album[i - 1].getId());
    }

    layout.addView(iv_album[i], params);
}

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM