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

這就結束了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM