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

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

原文 http://blog.csdn.net/qq_36523667/article/details/79056748

2018-01-15 02:00:51阅读(377)

有时候在控件个数不定的时候,需要通过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);
}

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

<a href=Android设置布局参数,addView添加布局时指定控件属性" src="http://img.blog.csdn.net/20180114151043705?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzY1MjM2Njc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



所以需要指定布局参数

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添加布局时指定控件属性

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹