ViewPager实现视图左右滑动

来源:互联网 发布:泰拉瑞亚辅助软件ios 编辑:程序博客网 时间:2024/04/29 01:02

MainActivity.java文件

<span style="font-size:14px;">package com.example.viewpager;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.view.Menu;import android.view.MenuItem;import android.view.View;public class MainActivity extends Activity {private List<View>viewList;private ViewPager pager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.mian);viewList = new ArrayList<View>();//通过View对象去作为ViewPager的数据源View view1 = View.inflate(this, R.layout.view1, null);View view2 = View.inflate(this, R.layout.view2, null);View view3 = View.inflate(this, R.layout.view3, null);View view4 = View.inflate(this, R.layout.view4, null);viewList.add(view1);viewList.add(view2);viewList.add(view3);viewList.add(view4);//初始化ViewPagerpager = (ViewPager) findViewById(R.id.pager);//创建PagerAdapter的适配器MyPagerAdapter adapter = new MyPagerAdapter(viewList);//ViewPager加载适配器pager.setAdapter( adapter);}}

Main.xml文件

<span style="font-size:14px;"><?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.support.v4.view.ViewPager        android:id="@+id/pager"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        >            </android.support.v4.view.ViewPager></LinearLayout>


新建四个xml文件,分别是view1.xml view2.xml view3.xml view4.xml


<span style="font-size:14px;"><?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" >    <TextView         android:id="@+id/text"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="第一个页面"        /></LinearLayout>

在和MainActivity.java文件的同级目录下,新建一个 MyPagerAdapter.java

<span style="font-size:14px;">package com.example.viewpager;import java.util.List;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;public class MyPagerAdapter extends PagerAdapter{private List<View>viewList;public MyPagerAdapter(List<View>viewList){this.viewList = viewList;}//返回页卡的数量@Overridepublic int getCount() {// TODO Auto-generated method stubreturn viewList.size();}//view是否来自对象@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0==arg1;}//实例化一个页卡@Overridepublic Object instantiateItem(ViewGroup container, int position) {// TODO Auto-generated method stubcontainer.addView(viewList.get(position));return viewList.get(position);}//销毁一个页卡@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {// TODO Auto-generated method stubcontainer.removeView(viewList.get(position));}}


0 0