教程:ViewPager

来源:互联网 发布:淘宝促销活动短信模板 编辑:程序博客网 时间:2024/06/06 20:46

第一步:在布局文件里添加ViewPager控件

<android.support.v4.view.ViewPager        android:id="@+id/vpTest"        android:layout_width="match_parent"        android:layout_height="match_parent" />

第二步:自定义ViewPager适配器

import java.util.List;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;public class ViewAdapter extends PagerAdapter{private List<View> listData;         public ViewAdapter(List<View> mListViews) {         listData = mListViews;//构造方法,参数是我们的页卡,这样比较方便。     }     @Override     public void destroyItem(ViewGroup container, int position, Object object)   {            container.removeView(listData.get(position));//删除页卡     }     @Override     public Object instantiateItem(ViewGroup container, int position) {  //这个方法用来实例化页卡                 container.addView(listData.get(position), 0);//添加页卡          return listData.get(position);     } @Overridepublic int getCount() {// TODO Auto-generated method stubreturn listData.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0==arg1;//官方提示这样写 }}

第三步:初始化ViewPager控件,设置适配器

import java.util.ArrayList;import android.os.Bundle;import android.app.Activity;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;public class MainActivity extends Activity {ViewAdapter mAdapter;private ViewPager vpTest;//滑动view    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                initView();//初始化控件        vpSetData();//添加数据、设置适配器    }        private void initView() {// TODO Auto-generated method stubvpTest = (ViewPager) findViewById(R.id.vpTest);}private void vpSetData() {// TODO Auto-generated method stub        ArrayList<View> viewList = new ArrayList<View>();// 将要分页显示的View装入数组中         viewList.add(initPagerItem());         viewList.add(initPagerItem());                mAdapter = new ViewAdapter(viewList);        vpTest.setAdapter(mAdapter);}//返回ViewPager每个viewprivate View initPagerItem() {LayoutInflater mLayoutInflater = getLayoutInflater().from(this);View layout1 = mLayoutInflater.inflate(R.layout.view_item, null);return layout1;}}









0 0
原创粉丝点击