有时候在控件个数不定的时候,需要通过new出控件的形式动态添加到view group里

这个时候 控件的位置就成了一个难题了


原来,就这么把image view添加进去了

for (int i = 0; i < strings.size(); i ++) {
    final RoundImageView iv = new RoundImageView(getActivity());
    Glide.with(mContext).load(strings.get(i)).asBitmap().into(new SimpleTarget<Bitmap>() {
        @Override
        public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
            iv.setImageBitmap(resource);
        }
    });
    ((ViewGroup)holder.itemView).addView(iv);
}

但是效果不是很好,如下,控件间没有间隔

Android设置布局参数,addView添加布局时指定控件属性



所以需要指定布局参数

for (int i = 0; i < strings.size(); i ++) {
    final RoundImageView iv = new RoundImageView(getActivity());
    Glide.with(mContext).load(strings.get(i)).asBitmap().into(new SimpleTarget<Bitmap>() {
        @Override
        public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
            iv.setImageBitmap(resource);
        }
    });
    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    params.setMargins(12, 12, 0, 12);
    iv.setLayoutParams(params);
    ((ViewGroup)holder.itemView).addView(iv);
}

setmargins是设置了(左上右下)左,上,下分别间隔12dp,而WRAP_CONTENT指的是包裹住即可


现在效果如下

Android设置布局参数,addView添加布局时指定控件属性

相关文章:

  • 2021-11-05
  • 2022-12-23
  • 2020-01-20
  • 2022-12-23
  • 2021-10-11
猜你喜欢
  • 2022-02-09
  • 2022-02-07
  • 2022-03-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-07
相关资源
相似解决方案