Android布局中动态添加ImageView并设置间隔

要求:引导图中的小圆点跟随着滑动的图片滑动,小圆点有一定的间隔。

具体实现:

1.布局文件

2.代码文件

    /**
     * 加载底部圆点
     */
    private void initPoint() {
        //这里实例化LinearLayout
        llGuidePoint = findViewById(R.id.ll_guide_point);
        //根据ViewPager的item数量实例化数组
        ivPointArray = new ImageView[viewList.size()];
        //循环新建底部圆点ImageView,将生成的ImageView保存到数组中
        int size = viewList.size();
        for (int i = 0; i < size; i++) {
            iv_point = new ImageView(this);
            LinearLayout.LayoutParams lp = new 
            LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
                    LinearLayout.LayoutParams.WRAP_CONTENT);
            //设置小圆点的间距
            lp.setMargins(20, 0, 20, 0);
            iv_point.setLayoutParams(lp);
            ivPointArray[i] = iv_point;
            //第一个页面需要设置为选中状态,这里采用两张不同的图片
            if (i == 0) {
                iv_point.setBackgroundResource(R.drawable.guide_dot_select);
            } else {
                iv_point.setBackgroundResource(R.drawable.guide_dot_unselect);
            }
            //将数组中的ImageView加入到ViewGroup
            llGuidePoint.addView(ivPointArray[i]);
        }
    }

刚开始设置小圆点的间距怎么都不好使,

//设置小圆点的间距
iv_point.setPadding(20,0,20,0);

最后,小圆点的间距的设置,不是设置动态生成的imageView的边距,而是获取当前LayoutParams对象,然后设置边距,刚才测试一下好使。希望对大家有帮助。

转载请注明处,谢谢!

你可能感兴趣的:(实用类)