<1>引导页:适配器 PageAdapter
滑动监听 addOnPageChangeListener
导航点 github 开源框架 : ViewPagerIndicator
属性:setRadius (设置半径)
setPageColor (点的背景颜色)
setBackgroudColor (控件的背景颜色)
setFillColor (设置点的背景颜色)
setStrokeColor (设置点背景的边框颜色)
用ViewPager做了图片的切换,其效果图如下:
XML代码如下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.cookie.android0612weidgh.ViewPageActivity">
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/vp_view_page_image">
</android.support.v4.view.ViewPager>
</android.support.constraint.ConstraintLayout>
JAVA代码如下:
public class ViewPageActivity extends AppCompatActivity {
private ViewPager vp_view_page_image;
private int images[]={R.drawable.one,R.drawable.two,R.drawable.three,R.drawable.four};
private List<View> views=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_page);
vp_view_page_image = (ViewPager) findViewById(R.id.vp_view_page_image);
for (int i = 0; i < images.length; i++) {
ImageView iv=new ImageView(this);
iv.setImageResource(images[i]);
views.add(iv);
}
vp_view_page_image.setAdapter(new MyAdapter());
}
class MyAdapter extends PagerAdapter{
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
//重写方法的快捷键alt insert
@Override
public Object instantiateItem(ViewGroup container, int position) {
View v=views.get(position);
container.addView(v);
return v;
}
//当图片滑动到看不见的时候就会销毁
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
//最好把这行代码给干掉,因为有的机型写上这行代码会报错
// super.destroyItem(container, position, object);
View v=views.get(position);
container.removeView(v);
}
}
}