安卓高级控件之ViewPager

来源:互联网 发布:微网站系统源码 编辑:程序博客网 时间:2024/06/08 05:18

<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);        }    }}


原创粉丝点击