如何动态并排添加两个图像

时间:2014-05-26 06:55:40

标签: android imageview dynamically-generated

我正在动态生成图像视图。那是在Asysntask。

在PostExecute方法中,我正在膨胀这个布局:     

 <TextView android:id="@+id/imageLabel"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="abcd"
    android:layout_marginLeft="20dp"
    android:textSize="20sp"/>



<ImageView
    android:id="@+id/btnCapturePicture"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:layout_marginTop="5dp"
    android:src="@drawable/imageview"
    android:layout_marginBottom="15dp" 
    android:layout_below="@+id/imageLabel"

  />

在代码中:

    (build_types.getJSONObject(i).getString("name").equals("Image")) {



                    final LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    final View imageview = inflater.inflate(
    R.layout.imagecapture, null);

                    final ImageView imgPreview = (ImageView) imageview
                            .findViewById(R.id.btnCapturePicture);
                    final TextView imageText = (TextView) imageview.findViewById(R.id.imageLabel);

                    imageText.setText(build_types.getJSONObject(i).getString("label"));
                    imgPreview.setId(Integer.parseInt(build_types
                            .getJSONObject(i).getString("id")));

                    if (type == 6) {
                         if(image==1){
                            image=0;
                         }
                        else{
                            image++;
                            System.out.println("Inside 2 consequetive images::");

                            RelativeLayout.LayoutParams imageParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
                            //imageParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
                            System.out.println("Image Count Id::"+imgPreview.getId());
                            System.out.println("ImageID Flag::"+imagIdFlag);

                        //  imageParams.setLayoutDirection(Layout.DIR_LEFT_TO_RIGHT);
                            imageParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
                            imageParams.addRule(RelativeLayout.RIGHT_OF,imgPreview.getId());

                            imgPreview.setLayoutParams(imageParams);



                        }


                    }
                    rv.addView(imageview);

                    type = 6;

当我必须通过设置图像标记并排保持图像时,我得到了准确的计数。然而,图像出现在另一个之下。

2 个答案:

答案 0 :(得分:1)

确保“rv”是一个LinearLayout,其方向设置为水平,只需夸大您的视图并添加到其中。

答案 1 :(得分:0)

我不知道"rv"中哪种类型的布局rv.addView(imageview);,但它可能是vertical导向的LinearLayout。只需将此Layout的方向设置为horizontal