ViewPager+PagerAdapter
2016-04-27 20:20
330 查看
步骤:
1、在主界面中插入一个ViewPager组件
2、新建几个xml布局文件,这是左右滑动时显示的界面
3、获取布局磊,并加载上面的三个布局,返回View对象
4、新建一个List<View> 数组来存放上面的几个View对象
5、创建PagerAdapter适配器必须重写方法
isViewFromObject(View arg0, Object arg1)、
getCount()、
destroyItem(ViewGroup container, int position, Object object)
Object instantiateItem(ViewGroup container, int position)
5、为ViewPager设置适配器
主要代码如下:
MainActivity.class
1、在主界面中插入一个ViewPager组件
2、新建几个xml布局文件,这是左右滑动时显示的界面
3、获取布局磊,并加载上面的三个布局,返回View对象
LayoutInflater inflater = getLayoutInflater();//第一种 LayoutInflater inflater = LayoutInflater.from(MainActivity.this);//第二种 //第三种 LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view=inflater.inflate(R.layout.xxx,null);
4、新建一个List<View> 数组来存放上面的几个View对象
5、创建PagerAdapter适配器必须重写方法
isViewFromObject(View arg0, Object arg1)、
getCount()、
destroyItem(ViewGroup container, int position, Object object)
Object instantiateItem(ViewGroup container, int position)
5、为ViewPager设置适配器
主要代码如下:
MainActivity.class
public class MainActivity extends FragmentActivity { private ViewPager viewPager; private PagerAdapter pagerAdapter; private List<View> list; private LayoutInflater inflater; private View view1,view2,view3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); initView(); } private void initView(){ viewPager=(ViewPager)findViewById(R.id.viewpager); list=new ArrayList<>(); inflater=inflater.from(MainActivity.this); view1=inflater.inflate(R.layout.tab01, null); view2=inflater.inflate(R.layout.tab02, null); view3=inflater.inflate(R.layout.tab03,null); list.add(view1); list.add(view2); list.add(view3); pagerAdapter= new PagerAdapter() { //返回滑动的视图数 @Override public int getCount() { return list.size(); } //销毁指定位置的View @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(list.get(position)); } //初始化布局, 将当前视图添加到container中,返回视图 @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(list.get(position)); return list.get(position); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } }; viewPager.setAdapter(pagerAdapter); } }
相关文章推荐
- 对GridView中的item进行监听
- leetcode-342. Power of Four
- AFX图形界面和多线程
- 2016年4月26日作业(项目整体绩效评估、信息安全相关知识、信息工程监理知识)
- 【VR】一直困扰虚拟现实的VAC现象,真的无解么?
- Eclipse下mybatis配置文件自动提示
- 成员变量和局部变量
- Css文本
- JavaScript--百度百科
- error C2665: none of the 2 overloads could convert all the argument types
- 代码Review那些事
- Android :ViewPager+Fragment 实现顶部导航滑动效果
- Oracle 用户管理与权限分配
- python网络socket编程
- Jquery的ajax()方法
- 剑指OFFER(百度笔试)——二叉树的子结构
- Mongoose(二):快速开始
- Update Maven JDK版本变更的修改方法
- Activity启动模式singleTask的理解
- 模拟点击a链接