【安卓-自定义布局】安卓App开发思路 一步一个脚印(六)实现ViewPager最基本的

来源:互联网 发布:java工程发布到tomcat 编辑:程序博客网 时间:2024/05/21 07:53

实现自定义布局ViewPager最基本的

现在的app中的布局,一般的首页都会设计到Viewpager

布局

<android.support.v4.view.ViewPager    android:id="@+id/vp_buy"    android:background="#00FF00"    android:layout_width="match_parent"    android:layout_height="wrap_content"></android.support.v4.view.ViewPager>

适配器

import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import java.util.ArrayList;/** * Created by Administrator on 2016/10/3 0003. */public class MyBuyPagerAdapter extends PagerAdapter {    private int mPagerImg[]=new int[]{R.mipmap.v11,R.mipmap.v12,R.mipmap.v13,R.mipmap.v14,R.mipmap.v9,R.mipmap.v10,R.mipmap.v8,R.mipmap.v7,R.mipmap.v1, R.mipmap.v2, R.mipmap.v3, R.mipmap.v4, R.mipmap.v5, R.mipmap.v6};    private Context context;    private ArrayList<View> marrayList;    //构造方法实现数据的适配器    public MyBuyPagerAdapter(Context context){        this.context = context;        marrayList=new ArrayList<View>();        LayoutInflater mLayoutInflater = LayoutInflater.from(context);        for(int id:mPagerImg){            View mView = mLayoutInflater.inflate(R.layout.item_pager_buy, null);            ImageView imageView = (ImageView) mView.findViewById(R.id.iv_pager_image);            imageView.setImageDrawable(context.getResources().getDrawable(id));            marrayList.add(mView);        }    }    @Override    public int getCount() {        return mPagerImg.length;    }    @Override    public boolean isViewFromObject(View view, Object object) {        return view==object;    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {//        super.destroyItem(container, position, object);        container.removeView(marrayList.get(position));    }    @Override    public Object instantiateItem(ViewGroup container, int position) {//        return super.instantiateItem(container, position);        container.addView(marrayList.get(position), 0);        return marrayList.get(position);    }}

调用

mviewpager.setAdapter(new MyBuyPagerAdapter(getActivity()));

0 1