`
luckldforever
  • 浏览: 6783 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

ViewPager的应用

阅读更多
1.在布局文件里加入
     <android.support.v4.view.ViewPager   
             android:id="@+id/viewpager"  
             android:layout_width="wrap_content"  
             android:layout_height="wrap_content"  
             android:layout_gravity="center" > 
   2.加载要显示的页卡
     LayoutInflater lf = getLayoutInflater().from(this);  
     view1 = lf.inflate(R.layout.layout1, null);  
     view2 = lf.inflate(R.layout.layout2, null);  
     viewList = new ArrayList<View>();
     viewList.add(view1);  
     viewList.add(view2);  
  3.重写PagerAdapter
     public class MyViewPagerAdapter extends PagerAdapter{  
         private List<View> mListViews;  
         public MyViewPagerAdapter(List<View> mListViews){
          this.mListViews = mListViews;  
         }  
         @Override  
         Public void destroyItem(ViewGroup container, int position, Object 
         object)  {     
             container.removeView(mListViews.get(positin);//删除页卡  
         }  
         @Override  
         Public Object instantiateItem(ViewGroupcontainer,  int position) {  
                                                //这个方法用来实例化页卡         
            container.addView(mListViews.get(position), 0); //添加页卡  
            return mListViews.get(position);  
         }  
  
        @Override  
        public int getCount() {           
            return  mListViews.size();//返回页卡的数量  
        } 
        @Override  
        public boolean isViewFromObject(View arg0, Object arg1) {
            return arg0==arg1;//官方提示这样写  
        }  
     }  
         mViewPager=(ViewPager)this.findViewById(R.id.viewpager);
         mViewPager.setAdapter(MyViewPagerAdapter);
         mTextName01.setOnClickListener(new OnClickListener(){
          @Override
          public void onClick(View v){
              mViewPager.setCurrentItem(LEFT_PAGE);
}
});
mTextName02.setOnClickListener(new View.OnClickListener(){
  @Override
  public void onClick(View v){
       mViewPager.setCurrentItem(RIGHT_PAGE);
  }
});
         mViewPager.setOnPageChangeListener(newOnPageChangeListener(){
         //这个方法会在屏幕滚动过程中不断被调用,有三个参数,第一个arg0和当前页面
     index是一致的;arg1是当前页面的滑动比例,如果页面向右翻动,这个值不断变大,
     最 后在趋近1的情况后突变为0;如果页面向左翻动,这个值不断变小,最后变为0。
     arg2是当前页面滑动像素,变化情况和arg1一致。
         @Override
public void onPageScrolled(int arg0, float arg1, int arg2){}
         //这个方法在手指操作屏幕的时候发生变化,有三个值:0(end),1 ( press ),
     2  ( up )。
@Override
public void onPageScrollStateChanged(int arg0){}
         //这个方法有一个参数arg0,代表那个页面被选中。
@Override
public void onPageSelected(int arg0){
switch (arg0){
case 0:{
mTextName01.setSelected(true);
mTextName02.setSelected(false);
}
break;
case 1:{
mTextName01.setSelected(false);
mTextName02.setSelected(true);
}
break;
default:
break;
}
}
});
        这三个方法的执行顺序为:当用手指拖动翻页时,最先执行一遍  onPageScrollStateChange(1),然后不断执行onPageScrolled,放手指的时候,直接  
立即执行一次onPageScrollStateChanged(2),然后立即执行一次onPageSelected,
然后再不断执行onPageScrollStateChanged,最后执行一次
onPageScrollStateChaged(0)。
        实现左右的页面滑动,往ViewPager中添加一些View视图或者Fragment.
分享到:
评论

相关推荐

    android ViewPager应用demo

    **Android ViewPager 应用详解** ViewPager 是 Android 平台上一个强大的视图组件,它允许用户通过左右滑动来浏览多个页面,通常用于实现平滑的水平滚动效果。在本示例中,我们将会探讨如何利用 ViewPager 实现三种...

    Fragment和ViewPager应用

    在实际开发中,将Fragment与ViewPager结合使用是常见的做法,例如创建一个包含多个内容页签的应用。然而,一个常见问题是:当用户在ViewPager中切换Fragment后,已经显示过的Fragment可能不会自动重绘。这个问题可能...

    ViewPager的简单实现

    在本教程中,我们将探讨如何在Android Studio中实现一个简单的ViewPager应用。 首先,我们需要在项目的布局XML文件中添加ViewPager组件。在`activity_main.xml`文件中,可以这样定义: ```xml &lt;androidx.viewpager...

    ViewPager的简单应用

    本篇文章将深入探讨如何在实际项目中实现一个简单的ViewPager应用。 首先,我们需要在项目中添加对`android.support.v4`库的依赖。在`build.gradle`文件中,确保有以下依赖项: ```groovy dependencies { ...

    viewpager使用

    通过以上步骤,你可以实现一个基本的ViewPager应用,包括欢迎界面和主界面的切换。在实际开发中,可以根据需求进一步优化和扩展。记住,理解并熟练掌握ViewPager的使用,对于构建动态、流畅的用户界面至关重要。

    ViewPager实现五页面滑动切换

    至此,一个简单的五页面滑动切换的ViewPager应用就已经完成了。用户可以通过左右滑动在五个页面之间自由切换。注意,为了提高用户体验,通常我们还会添加一些额外的优化,比如设置指示器、添加页面滑动动画等。在...

    android之viewPager的简单使用

    这样,我们就可以实现一个基本的ViewPager应用,它能够展示多个页面,并可选地显示带有标题的TabLayout。当然,ViewPager还有许多高级用法,比如使用`FragmentStatePagerAdapter`优化内存管理、自定义滑动动画、设置...

    ViewPager Demo

    为了创建一个完整的ViewPager应用,开发者需要执行以下步骤: 1. 添加ViewPager到布局文件:在XML布局中添加`&lt;androidx.viewpager.widget.ViewPager&gt;`标签,并设置相应的属性。 2. 创建PagerAdapter子类:根据需求...

    IconTabPageIndicator, 带图标文字的ViewPager导航指示器.zip

    总的来说,IconTabPageIndicator为Android开发者提供了一个高效且美观的工具,帮助他们构建出带有图标文字导航的ViewPager应用,增强了用户的交互体验。通过学习和利用这个开源库,开发者可以节省时间,专注于应用的...

    ViewPager的android项目代码

    在这个"简易ViewPager应用"中,我们将探讨`ViewPager`的基本使用方法、相关适配器的实现以及如何自定义其行为。 首先,`ViewPager`的核心功能是展示一系列的页面,并且可以左右滑动切换这些页面。在Android布局文件...

    ViewPagerDemo

    在"ViewPagerDemo"这个项目中,我们可以看到一个简单的ViewPager应用实例。开发者可能创建了一个名为`ViewPaperDemo`的Activity或Fragment,里面包含一个ViewPager实例。适配器可能是自定义的,扩展自`PagerAdapter`...

    ViewPager小Demo

    这个"ViewPager小Demo"将涵盖上述知识点,并通过实际代码演示如何创建一个简单的ViewPager应用,帮助开发者快速上手并理解其工作原理。通过实践,你将能够灵活运用ViewPager来构建丰富多样的界面交互。

    安卓Android源码——ViewPagerDemo1.rar

    以上就是从给定的信息中可以提炼出的Android源码示例的关键知识点,它们构成了一个基础的ViewPager应用的组成部分。通过这个示例,开发者可以学习如何在Android应用中有效地利用ViewPager这一强大的工具。

    ViewPager的demo

    通过以上步骤,我们就可以创建一个具有广告轮播效果的ViewPager应用。在实践中,还可以根据需求进行更复杂的定制,如添加手势识别、无限循环等。理解并熟练运用ViewPager是提升Android应用交互体验的重要技能。

    ViewPager的使用

    通过上述步骤,我们可以创建一个基本的ViewPager应用。然而,实际开发中可能还需要根据需求进行更复杂的定制,如处理滚动事件、自定义指示器样式等。对于这些高级用法,开发者需要深入理解ViewPager的工作原理并熟练...

    安卓欢迎界面引导页面viewpager相关-android欢迎体验界面.rar

    同时,代码可作为参考和学习,帮助理解如何将ViewPager应用于欢迎界面。 总之,通过理解和应用ViewPager,开发者可以轻松地创建出富有吸引力的欢迎界面,为用户提供一个引人入胜的启动体验。在实际项目中,还可以...

    ViewPager使用Demo

    ViewPager是Android平台中一个强大的视图滑动组件,常用于实现页面间的滑动切换...通过以上知识点,你可以创建一个功能丰富的ViewPager应用。在实际开发中,根据需求灵活运用这些技巧,可以打造出更加出色的用户界面。

    viewpager3d效果

    通过上述步骤,开发者可以创建出具有独特3D翻转效果的ViewPager应用。这种效果不仅适用于图片浏览、内容切换等场景,还能在很多创新的UI设计中发挥重要作用,提升应用的用户体验和吸引力。 在提供的文件名`...

    仿ViewPager,事件分发应用

    事件分发应用则表明这个组件着重处理触摸事件的传递和处理流程,即如何在父视图和子视图之间正确地分发ACTION_DOWN、ACTION_MOVE、ACTION_UP等触摸事件。 在Android中,ViewPager是一个用于展示可滑动页面的控件,...

    ViewPager实现应用启动动画

    在本示例"ViewPager实现应用启动动画"中,我们将探讨如何利用ViewPager来创建一个吸引人的应用程序启动界面,这通常被称为启动页或引导页。 首先,ViewPager的基础用法是承载多个Fragment或View,通过滑动来切换...

Global site tag (gtag.js) - Google Analytics