要求:引导图中的小圆点跟随着滑动的图片滑动,小圆点有一定的间隔。
具体实现:
1.布局文件
<LinearLayout
android:id="@+id/ll_guide_point"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="40dp"
android:gravity="center_horizontal"
android:orientation="horizontal" />
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对象,然后设置边距,刚才测试一下好使。希望对大家有帮助。
转载请注明处,谢谢!