viewPage的使用(小组项目)

首先来看下运行结果

其实ViewPage就是一个引导页的效果(滑动)!下面来看下ViewPage的使用吧!

第一步:对布局进行编辑

 <Button
        android:visibility="gone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_register"
        android:text="注册"
        android:layout_marginBottom="94dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_marginEnd="69dp" />

    <Button
        android:visibility="gone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_login"
        android:text="登陆"
        android:layout_alignBaseline="@+id/btn_register"
        android:layout_alignBottom="@+id/btn_register"
        android:layout_toStartOf="@+id/btn_register"
        android:layout_marginEnd="60dp" />
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/viewPager"
        ></android.support.v4.view.ViewPager>

第二步:在JAVA代码中编辑


public class MainActivity extends AppCompatActivity{
    //三张图片(引导页)
    private int[]img={R.drawable.pi,R.drawable.pic,R.drawable.picc};

    private Button btn_login,btn_register;//两个Button

    private ViewPager viewPager;//定义ViewPage控件
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);//第一个加载的页面
        //寻找控件的ID
        btn_login= (Button) findViewById(R.id.btn_login);
        btn_register= (Button) findViewById(R.id.btn_register);
        viewPager= (ViewPager) findViewById(R.id.viewPager);

        MyViewPager myViewPager=new MyViewPager();//相当于适配器

        viewPager.setAdapter(myViewPager);//ViewPage这个容器与适配器绑定

        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                if (position==2){//从零开始有3张图,如果滑到第三张图时

                    btn_login.setVisibility(View.VISIBLE);//就显示Button按钮

                    btn_register.setVisibility(View.VISIBLE);//同上

                    btn_login.setOnClickListener(new View.OnClickListener() {//Button的监听事件
                        @Override
                        public void onClick(View view) {
                            Toast.makeText(MainActivity.this, "...", Toast.LENGTH_SHORT).show();//吐司
                        }
                    });
                    btn_register.setOnClickListener(new View.OnClickListener() {//同上
                        @Override
                        public void onClick(View view) {
                            Toast.makeText(MainActivity.this, "1001", Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
    }
    private class MyViewPager extends PagerAdapter{
        @Override
        public int getCount() {
            return img.length;//返回图片的个数
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view==object;//固定写法
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            ImageView imge=new ImageView(MainActivity.this);
            imge.setScaleType(ImageView.ScaleType.FIT_XY);//图片的滑动方式是左右方式
            imge.setImageResource(img[position]);//图片的显示位置
            container.addView(imge);//将图片加载到这个容器中去
            return imge;
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView((View)object);
        }
    }
}

这就结束了!

posted @ 2017-05-11 11:02  陌上花开222  阅读(3297)  评论(0编辑  收藏  举报