您的位置:首页 > 其它

使用ViewPager实现导航

2014-08-19 19:11 274 查看
2014-8-19

<?xml version="1.0" encoding="utf-8"?>

<?xml version="1.0" encoding="utf-8"?>

package com.example.demo;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.view.View;

public class MainActivity extends ActionBarActivity {

private List viewList;
private ViewPager pager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);

viewList = new ArrayList();

/**
* 通过View对象去作为ViewPager的数据源
*
* 把布局转成View
* View.inflate(context, resource, root)
* @context: 上下文
* @resource: 布局文件id
*/
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);

//初始化 ViewPager
pager = (ViewPager) findViewById(R.id.pager);

//创建ViewPager适配器
MyPagerAdaper adapter = new MyPagerAdaper(viewList);

//ViewPager加载适配器
pager.setAdapter(adapter);
}
}
package com.example.demo;

import java.util.List;

import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;

public class MyPagerAdaper extends PagerAdapter{

private List viewList;

public MyPagerAdaper(List viewList){
this.viewList = viewList;
}

/**
* 返回页卡的数量
*/
@Override
public int getCount() {
// TODO 自动生成的方法存根
return viewList.size();
}

/**
* View是否来自对象
* 官方文档里面使用: return arg0 == arg1;
*/
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO 自动生成的方法存根
return  arg0 == arg1;
}

/**
* 实例化页卡
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO 自动生成的方法存根
container.addView(viewList.get(position));
return viewList.get(position);
}

/**
* 销毁一个页卡
*/
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO 自动生成的方法存根
container.removeView(viewList.get(position));
}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: