【问题标题】:how to set margin on imageview using code in android?如何使用android中的代码在imageview上设置边距?
【发布时间】:2014-09-22 20:07:47
【问题描述】:

我正在尝试在运行时创建布局,然后我想在运行时使用循环添加一些图像视图。但问题是我使用 LayoutParams 给出的边距根本不起作用。我已经尝试并搜索了很多,但没有找到任何解决方案。我也附上我的代码。

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);

        }

【问题讨论】:

    标签: android imageview runtime margin


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-03-25
      • 2012-10-01
      • 1970-01-01
      • 2018-09-04
      • 2017-01-07
      • 2012-11-28
      • 1970-01-01
      • 2010-11-03
      相关资源
      最近更新 更多