`

ViewPager使用1-基本用法

 
阅读更多

 

 ViewPager :

     页面切换组件,可以实现页面左右切换 ,ViewPager需要绑定一个特有的Adapter-PagerAdapter

    

使用步骤:

1 实现PagerAdapter,并且实现里面的方法

2 创建三个布局xml,每个布局为一个pageView ,并将三个View添加到一个List中

3 创建主的Activity的布局,并拿到ViewPager、设置布局List数据、设置PagerAdapter

 

代码: 

1 主Activity代码

   

public class ViewPagerActivity extends Activity {

	 //定义相关变量  
    private View v1,v2,v3;  

    private ViewPager vPager;  
    private ArrayList<View> aList;  
    private MyPageAdapter mAdapter; 

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_view_pager);
		
		vPager = (ViewPager) findViewById( R.id.viewpager) ; 
		
		  //动态加载三个View  
        LayoutInflater li = getLayoutInflater();  
        v1 = li.inflate(R.layout.activity_view_pager2, null);  
        v2 = li.inflate(R.layout.activity_view_pager3, null);  
        v3 = li.inflate(R.layout.activity_view_pager4, null);

        aList = new ArrayList<View>();  
        aList.add(v1);  
        aList.add(v2);  
        aList.add(v3);  
        mAdapter = new MyPageAdapter(aList);          
        vPager.setAdapter(mAdapter);  
	}
}

  2 PagerAdapter实现类 

  

public class MyPageAdapter extends PagerAdapter {  
  
    private ArrayList<View> viewLists;      
  
    public MyPageAdapter() {}     
    public MyPageAdapter(ArrayList<View> viewLists)  
    {  
        super();  
        this.viewLists = viewLists;  
    }  
      
     //获得viewpager中有多少个view
    @Override  
    public int getCount() {       
        return viewLists.size();  
    }  
    
    /**
     * 通常这么写就可以了
     */
    @Override  
    public boolean isViewFromObject(View view, Object object) {  
        return view == object;  
    }  
     
    /**
     *     ①将给定位置的view添加到ViewGroup(容器)中,创建并显示出来
     *     ②返回一个代表新增页面的Object(key),通常都是直接返回view本身就可以了,
     */
    @Override  
    public Object instantiateItem(ViewGroup container, int position) {  
        container.addView(viewLists.get(position));  
        return viewLists.get(position);  
    }  
  
    //移除一个给定位置的页面。
    @Override  
    public void destroyItem(ViewGroup container, int position, Object object) {  
        container.removeView(viewLists.get(position));  
    }  
}

 3 带有ViewPager的Xml

  

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:id="@+id/LinearLayout1"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:orientation="vertical"  
    tools:context=".MainActivity" >  
  
    <TextView  
        android:gravity="center"   
        android:layout_width="match_parent"  
        android:layout_height="40dp"  
        android:text="简单的ViewPager使用"  
        android:background="#FCBC12"/>  
      
      
    <android.support.v4.view.ViewPager    
        android:id="@+id/viewpager"    
        android:layout_width="wrap_content"    
        android:layout_height="wrap_content"    
        android:layout_gravity="center" />        
</LinearLayout> 

  4 其他三个用在Pager中的布局都一样,只是背景颜色不一样而已

   

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:orientation="vertical"  
    android:gravity="center"   
    android:background="#FF6666">      
    <TextView   
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="第一个Page"      
    />  
</LinearLayout> 

 

 

 

分享到:
评论

相关推荐

    Android 中 ViewPager 的使用--源代码

    通过以上步骤,我们已经成功地在Android应用中实现了`ViewPager`的基本使用。在实际项目中,可以根据需求进行更复杂的定制,如动态加载数据、处理滑动事件等。参考博客中的详细讲解和`ViewPagerTest-master`项目源...

    ViewPager---简单

    在这个"ViewPager---简单"的demo中,我们可以学习到如何基本地集成和使用ViewPager。 首先,我们需要在布局文件中添加ViewPager。在XML布局中,创建一个`android.support.v4.view.ViewPager`标签,并为其指定ID,如...

    ViewPager_yuandian-master有第三方会自动切换.zip

    1. **ViewPager基本使用**:如何在布局文件中添加ViewPager,如何在代码中设置Adapter,以及如何创建适配器以填充数据。 2. **PagerAdapter子类**:通常需要自定义一个PagerAdapter的子类,如FragmentPagerAdapter或...

    Android开发—知识点精讲10—Android ViewPager引导页-Android专题视频教程下载(4课程).txt

    在本章节中,我们将深入探讨**ViewPager** 的基本用法及其高级特性。 #### 二、ViewPager的基本用法 1. **布局文件设置**: 在布局文件中添加`ViewPager`控件,并设置相应的属性。 ```xml &lt;androidx.viewpager....

    ViewPager-仿掌上英雄联盟皮肤浏览效果

    1. **ViewPager基本概念**:ViewPager是一个可以容纳多个Fragment或View的容器,允许用户通过手势左右滑动来切换页面。在Android开发中,它是实现滑动浏览界面的常用工具。 2. **PagerAdapter**:ViewPager依赖于...

    《ViewPager 详解(一)---基本入门》对应源码

    本篇将深入解析ViewPager的基本用法,并通过源码分析来理解其内部工作原理。 **1. ViewPager的基本概念** ViewPager是一个可以左右滑动来切换不同页面的布局容器。它内部管理了一组View,用户可以通过滑动或手势...

    ViewPager基本使用

    【标题】:ViewPager基本使用 在Android开发中,ViewPager是一个非常重要的组件,它允许用户左右滑动来切换不同的页面,通常用于实现类似Tab布局的效果。ViewPager是Android支持库的一部分,适用于多个版本的...

    Android中ViewPager常用功能6----viewpager和Fragment结合时懒加载

    1. **初始化Fragment**:在Fragment的onCreateView()方法中,只做基本的布局设置,不要进行数据加载。 2. **监听ViewPager的页面变化**:可以使用ViewPager的addOnPageChangeListener()方法添加一个...

    viewpager-transformer-helper:帮助您创建酷炫的Android ViewPager转换,专门用于教程,轻松对所有ViewPager的视图进行动画处理

    1. **ViewPager基本原理**:首先需要理解ViewPager的工作机制,它通过懒加载的方式只加载当前页面和相邻的页面,这样可以有效节省资源。当用户滑动时,ViewPager会自动调整可见页面的动画。 2. **Transformer接口**...

    安卓欢迎界面引导页面viewpager相关-APP初始使用半透明引导界面.rar

    以上是关于创建Android应用中基于ViewPager的半透明引导界面的基本原理和实现方法。实际开发时,可能还需要根据项目的具体需求进行调整和优化。对于提供的压缩包文件,由于无法直接查看和运行代码,你可能需要自行...

    ViewPager-and-Dialog-12:实验初始

    1. 创建并配置ViewPager。 2. 实现自定义Adapter,为ViewPager提供页面。 3. 创建DialogFragment,并在合适的时候显示或隐藏。 4. 考虑到性能优化,如避免不必要的页面加载和保持Dialog的正确状态。 理解并掌握这些...

    Android选项卡viewpager入门到精通-源代码1

    二、ViewPager的基本使用 1. 添加依赖:在build.gradle模块文件中,添加`implementation 'androidx.viewpager:viewpager:1.0.0'`,确保使用最新版本的库。 2. 在XML布局文件中添加ViewPager,并设置其ID。 ```xml ...

    ViewPager+Fragment基本使用

    本文将深入探讨ViewPager+Fragment的基本使用方法,以及如何通过它们来设计出更加灵活的界面风格。 首先,让我们了解一下ViewPager。ViewPager源自android.support.v4库,它允许用户在水平方向上滑动浏览多个页面,...

    ViewPagerGallery-master_Viewpagergallery_zip_

    5. **README.md**:可能包含项目介绍、使用方法、安装步骤和示例等内容。 6. **gradlew** 和 **gradlew.bat**:Gradle构建工具的可执行文件,用于编译和打包应用。 7. **.gitignore**:指定Git忽略的文件或目录。 ...

    Android SYBViewPager(自定义下划线标题的ViewPager)-IT计算机-毕业设计.zip

    1. **ViewPager**:ViewPager是Android SDK中的一个视图容器,用于在水平方向上滑动切换多个页面。它通常与PagerAdapter一起使用,允许用户在页面间滑动浏览内容,是实现滑动切换页面的基础。 2. **自定义ViewGroup...

    Android中在DialogFragment内使用TabLayout+ViewPager

    以上就是`DialogFragment`内使用`TabLayout+ViewPager`的基本流程。通过这种方式,你可以创建一个弹出窗口,其中包含多个可滑动的页面,每个页面可以承载不同的内容,提供了良好的用户体验。在实际开发中,还可以...

    ViewPager基础使用的完整示例

    在这个"ViewPager基础使用的完整示例"中,我们将深入探讨ViewPager的基本用法,以及如何通过它来构建用户友好的交互体验。 首先,ViewPager的工作原理是通过懒加载机制,只在当前页面和相邻的前后页面之间加载内容...

    Android ViewPager-实现左右两个屏幕的切换-IT计算机-毕业设计.zip

    1. **ViewPager的基本用法**: - 首先,在布局XML文件中添加ViewPager组件。 - 创建一个继承自PagerAdapter的自定义类,并实现`instantiateItem()`, `destroyItem()` 和 `getCount()` 方法。 - 在`...

    viewPager演示

    1. **ViewPager的基本使用** - **添加依赖**: 在项目的build.gradle文件中,确保已添加Android Support Library或AndroidX库,以包含ViewPager组件。 - **布局文件**: 在XML布局文件中,使用`&lt;androidx.viewpager....

    对应源码

    首先,我们需要理解ViewPager的基本工作原理。ViewPager内部维护了一个PagerAdapter,它负责管理页面的创建和销毁。当用户滑动时,ViewPager会自动调用PagerAdapter的相关方法,如`instantiateItem()`和`destroyItem...

Global site tag (gtag.js) - Google Analytics