Android ViewPager引导页

来源:互联网 发布:诸暨市行知小学介绍 编辑:程序博客网 时间:2024/05/18 12:05

1.创建需要的视图界面
$.创建所需要的布局文件
主布局:

      <android.support.v4.view.ViewPager        android:id="@+id/viewpager"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:background="#00000000" >    </android.support.v4.view.ViewPager>  

引导页面布局(按照需要添加):

  <ImageView        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:background="@drawable/guide_1" />

2.准备数据源
核心代码:

private void initViews() {        LayoutInflater inflater = LayoutInflater.from(this);        views = new ArrayList<View>();        //将你需要的引导页面的布局文件添加到数据源中        views.add(inflater.inflate(R.layout.one, null));        views.add(inflater.inflate(R.layout.two, null));        views.add(inflater.inflate(R.layout.three, null));        //加载适配器        vpAdapter = new ViewPagerAdapter(views, this);        vp = (ViewPager) findViewById(R.id.viewpager);        vp.setAdapter(vpAdapter);        start_btn = (Button) views.get(2).findViewById(R.id.start_btn);        start_btn.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View arg0) {                Intent i = new Intent(Guide.this, MainActivity.class);                startActivity(i);                finish();            }        });        vp.setOnPageChangeListener(this);    }

3.创建数据源适配器(ViewPagerAdapter)

public class ViewPagerAdapter extends PagerAdapter {    private List<View> views;    private Context context;    public ViewPagerAdapter(List<View> views, Context context) {        this.views = views;        this.context = context;    }    @Override    public void destroyItem(View container, int position, Object object) {        ((ViewPager) container).removeView(views.get(position));    }    @Override    public Object instantiateItem(View container, int position) {        ((ViewPager) container).addView(views.get(position));        return views.get(position);    }    @Override    public int getCount() {        return views.size();    }    @Override    public boolean isViewFromObject(View arg0, Object arg1) {        return (arg0 == arg1);    }}
0 0
原创粉丝点击