第六节 ViewPager

原创 2013年12月03日 23:45:43

笔记待写~

运行结果截图:


源代码:

MyViewPager.java

package com.example.myviewpager;

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

import android.os.Bundle;
import android.app.Activity;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class MyViewPagerActivity extends Activity {

	private ViewPager mViewPager;
	private List mList;	
	private LayoutInflater inflater;
	private MyAdapter mAdapter;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_myviewpager);		
		mViewPager = (ViewPager) findViewById(R.id.viewpager);		
		//把xml文件转换成View
		mList = new ArrayList();//每一项都是一个布局文件
		inflater = LayoutInflater.from(this);
		mList.add(inflater.inflate(R.layout.page_1, null));
		mList.add(inflater.inflate(R.layout.page_2, null));
		mList.add(inflater.inflate(R.layout.page_3, null));
		mList.add(inflater.inflate(R.layout.page_4, null));				
		mAdapter = new MyAdapter();
		mViewPager.setAdapter(mAdapter);
	}
	
	class MyAdapter extends PagerAdapter{

		@Override
		public int getCount() {
			return mList.size();
		}

		@Override
		public boolean isViewFromObject(View view, Object obj) {
			return view == obj;
		}

		@Override
		public void destroyItem(ViewGroup container, int position, Object object) {
			//super.destroyItem(container, position, object);
			((ViewPager)container).removeView((View)object);
		}

		@Override
		public Object instantiateItem(ViewGroup container, int position) {
			((ViewPager)container).addView(mList.get(position));
			return mList.get(position);
		}		
	}
}
activity_myviewpager.xml
还有布局文件如page_1.xml
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/a" >

</ImageView>



Android ViewPager嵌套ViewPager滑动冲突的解决方法

(转载)http://my.oschina.net/ososchina/blog/383194?fromerr=jt3IU3PP 1 2 3 ...
  • u010746364
  • u010746364
  • 2015年12月21日 18:29
  • 1432

android 打造真正的无限循环viewpager

通过监听viewpager的滑动实现无限循环,并解决边界的不友好跳转问题
  • anyfive
  • anyfive
  • 2016年09月13日 13:56
  • 6643

解决两个ViewPager的冲突事件

情景还原:一种方法是在内部ViewPager调用时设置点击侦听。 不过这个方法有一个bug,就是快速滑动内部ViewPager时此方法可能来不及调用,事件直接返回给了外部ViewPager//对子v...
  • yyg204731
  • yyg204731
  • 2016年04月27日 16:09
  • 1124

ViewPager 的顶部滑动线

我们都会遇到这样的需求就是下方ViewPager 上方一个导航 导航文字底下还会有个滑动线。如果是手写实现的话 肯定是基于 onpagescroll 方法 来改变滑动线的leftmargin 实现滑动...
  • ImTryCatchException
  • ImTryCatchException
  • 2016年11月01日 11:48
  • 563

Android自定义View——自定义ViewPager

手把手教你制作自定义ViewPager 事先说明: 本篇文章会介绍:自定义ViewPager的创建,处理滑动监听,处理滑动冲突,增加ViewPager的指示器等 文章也会涉及到手势识别器和Scro...
  • qq_30379689
  • qq_30379689
  • 2016年08月26日 23:03
  • 4099

ViewPager相互嵌套,里层ViewPager无法滑动

ViewPager嵌套ViewPager,默认情况下,里层的ViewPager,是无法滑动的!
  • gaojinshan
  • gaojinshan
  • 2014年01月07日 10:19
  • 26532

Android使用ViewPager实现左右循环滑动及轮播效果

ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的Vie...
  • dyllove98
  • dyllove98
  • 2014年11月11日 17:03
  • 87217

ViewPager使用详解1

一、简介1.特点:可以左右滑动的控件,需要PagerAdapter配合使用,由v4包提供 类全名: android.support.v4.view.ViewPager2.作用:ViewPager作用...
  • u011102153
  • u011102153
  • 2015年09月19日 23:26
  • 1738

ViewPager嵌套ViewPager,外层禁止滑动,内层不禁止会出现的问题

有时候在开发中会遇到一些“诡异”的要求,比如在ViewPager中嵌入ListView,或者再嵌入一个ViewPager,那么在滑动的时候就会造成被嵌入的XXView不能滑动了,那么现在就把最外层的V...
  • qq_28973033
  • qq_28973033
  • 2016年09月18日 23:14
  • 586

viewpager删除item(数据源发生改变)没有即时更新

private class MyPagerAdapter extends PagerAdapter { private ArrayList list; public MyP...
  • catROOM
  • catROOM
  • 2016年10月12日 19:41
  • 1677
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第六节 ViewPager
举报原因:
原因补充:

(最多只允许输入30个字)