2014-09-22 139 views
0

我想在运行时创建一个布局,然后我想在运行时使用循环添加一些imageview。但问题是我使用LayoutParams的余量根本无法工作。我尝试了很多,但没有找到任何解决方案。我也附加我的代码。如何在android中使用代码在imageview上设置边距?

RelativeLayout ll_main_image = new RelativeLayout(activity); 
     ll_main_image.setLayoutParams(new LayoutParams(
       width, 
       width)); 


     for (int i = 0; i < al.get(position).al.size(); i++) { 

      //creating layout for tags 
      ImageView view_tag = new ImageView(activity); 
      LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 

      int int_margin_left = (int)(((Double.parseDouble(al.get(position).al.get(i).str_x_pos))/100)*width); 
      int int_margin_top = (int)(((Double.parseDouble(al.get(position).al.get(i).str_y_pos))/100)*width); 

      System.out.println("margins perc " + al.get(position).al.get(i).str_x_pos + "/" + al.get(position).al.get(i).str_y_pos + "/" + width); 
      System.out.println("margins " + int_margin_left + "/" + int_margin_top + "/" + width); 

      lp.setMargins(int_margin_left, int_margin_top, 0, 0); 
      view_tag.setLayoutParams(lp); 

      view_tag.setBackgroundResource(R.drawable.tag_light); 
      ll_main_image.addView(view_tag); 

     } 

回答

2

您正在使用LinearLayout.LayoutParams,其中布局为RelativeLayout。改为RelativeLayout.LayoutParams,它应该可以工作。

+0

完美,非常感谢。你救了我很多时间男人:) – rahul 2014-09-22 12:09:58

相关问题