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

具体实现:

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对象,然后设置边距,刚才测试一下好使。希望对大家有帮助。

转载请注明处,谢谢!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐