zoukankan      html  css  js  c++  java
  • 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);
            }
        }
    }
    

    这就结束了!

  • 相关阅读:
    注册DLL的两种方法
    DVDRAM 格式化失败及视频文件分割软件
    提高ASP.NET效率的几个方面
    vs2003错误求救
    存储过程1
    制作VCD/DVD方法
    不能上网修复网络协议
    C语言运算符优先级
    黑马程序员 ObjectC 类 (一)
    进制转换的方法和技巧
  • 原文地址:https://www.cnblogs.com/zyl222/p/6839899.html
Copyright © 2011-2022 走看看