`

ViewPager总结

阅读更多
ViewPager的包android.support.v4.view.ViewPager
ViewPager的主要部分是处理PagerAdapter和OnPagerChangeListener
使用ViewPager主要步骤有:
1、在布局文件中使用ViewPager控件
2、初始化ViewPager
3、初始化PagerAdapter
  
   需要实现四个方法
   isViewFromObject 判断选择哪个界面
   getCount    界面数量
   instantiateItem 显示当前的界面
   destroyItem  销毁以前的界面

4、设置OnPagerChangeListener
   主要在onPageSelected()方法中实现相关的

package com.viewpager;

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

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

public class MainActivity extends Activity {
	
	ViewPager viewPager ;
	
	List<View> views = new ArrayList<View>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		viewPager = (ViewPager) findViewById(R.id.viewpager);
		init();
	}
	
	private void init(){
		views.add(getLayoutInflater().inflate(R.layout.first, null));
		views.add(getLayoutInflater().inflate(R.layout.seconde, null));
		views.add(getLayoutInflater().inflate(R.layout.third, null));
		
		viewPager.setAdapter(adapter);
		viewPager.setOnPageChangeListener(changeListener);
	}
	
	PagerAdapter adapter = new PagerAdapter() {
		
		@Override
		public boolean isViewFromObject(View view, Object object) {
			return view == object;
		}
		
		@Override
		public int getCount() {
			return views.size();
		}
		
		public Object instantiateItem(View container, int position) {
			((ViewPager)container).addView(views.get(position));
			return views.get(position);
		};
		
		public void destroyItem(View container, int position, Object object) {
			((ViewPager)container).removeView(views.get(position));
		};
	};
	
	OnPageChangeListener changeListener = new OnPageChangeListener() {
		
		@Override
		public void onPageSelected(int position) {
			
		}
		
		@Override
		public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
			
		}
		
		@Override
		public void onPageScrollStateChanged(int state) {
			
		}
	};
}

分享到:
评论

相关推荐

    横向和纵向ViewPager

    总结来说,了解和掌握横向和纵向ViewPager的实现原理和使用方法,对Android开发者来说是非常有益的。这不仅可以提升应用的用户体验,也可以在设计复杂交互时提供更多可能性。通过学习和实践,开发者可以更好地利用...

    ViewPager无限循环左右滑动效果

    总结来说,实现ViewPager无限循环左右滑动效果的关键在于自定义一个适配器并处理边界条件,同时可能需要监听滑动事件以实现平滑的过渡。通过这种方式,用户可以在ViewPager中无限制地前后滑动,增加了用户体验的流畅...

    listview与viewpager组合

    总结一下,ListView与ViewPager的组合是通过将ViewPager视图作为ListView的Header来实现的。这需要我们在布局文件中定义ViewPager,初始化并设置其Adapter,然后在ListView中添加Header视图。通过这种方式,我们可以...

    viewpager使用总结

    以上就是关于ViewPager的使用总结,包括如何实现Splash界面、展示多个item以及在一个界面中展示多个Fragment。在实际开发中,可以根据需求灵活运用这些技巧,创建出丰富的用户界面。为了更深入地理解,你可以查看...

    Android viewpager 简单实例

    总结一下,本实例主要涵盖了以下知识点: 1. Android Support Library中的ViewPager组件 2. 使用FragmentPagerAdapter或FragmentStatePagerAdapter创建适配器 3. 在布局文件中添加ViewPager组件 4. 创建自定义...

    Android-各种方向的ViewPager层叠卡片

    总结来说,要实现“Android-各种方向的ViewPager层叠卡片”,你需要结合`CardView`创建美观的卡片视图,并通过自定义`PageTransformer`来实现卡片在`ViewPager`中滑动时的层叠动画效果。这种效果不仅能够提升应用的...

    ViewPager的简单实现

    总结一下,ViewPager在Android开发中的主要知识点包括: 1. 添加ViewPager到布局文件 2. 创建PagerAdapter子类 3. 实现`getItem`和`getCount`方法 4. 创建Fragment实例并设置数据 5. 在Activity中设置适配器和关联...

    listview添加头部viewpager

    总结起来,"listview添加头部viewpager"是一项常见的Android界面优化技巧,通过结合使用ListView和ViewPager,我们可以在列表顶部创建一个可滑动的区域,增强应用的互动性和用户体验。在实际开发中,可以根据项目...

    最简单的ViewPager实现滑动

    总结,ViewPager是Android开发中实现滑动界面的常用组件,通过与PagerAdapter配合,可以轻松地创建出可滑动的页面集合。结合适当的监听器和优化策略,可以为用户提供流畅的滑动体验。同时,根据项目需求,可以进一步...

    ViewPager获取网络图片实现效果

    总结来说,`ViewPager`结合Volley能提供流畅的图片浏览体验,同时利用Volley的缓存机制,可以提高加载速度并降低服务器压力。通过合理的设计和优化,可以打造出高效且用户体验良好的图片加载应用。

    广告轮播ViewPager+Glide

    总结,"广告轮播ViewPager+Glide"是Android开发中实现动态、高效的广告展示的常用方法。通过合理使用ViewPager和Glide,开发者可以创建出用户体验良好、资源消耗低的广告轮播组件。在实际项目中,你可能还需要考虑...

    ViewPager带导航栏的

    总结,实现“ViewPager带导航栏”涉及多个方面,包括但不限于页面的创建和管理、导航栏的设置、滑动效果的定制、生命周期的处理以及适配各种场景。掌握这些知识点有助于构建高效、用户体验良好的Android应用。

    Android Viewpager 嵌套 Viewpager

    总结,`Android ViewPager`嵌套`ViewPager`是一种强大的布局手段,能够帮助开发者构建复杂且富有层次的用户界面。但同时也需要注意滑动事件的处理、内存管理和性能优化,以提供良好的用户体验。

    ViewPager实现划屏

    总结,使用ViewPager实现划屏功能,关键在于正确配置和使用PagerAdapter,以及合理组织页面内容。虽然题目提到了ActivityGroup,但鉴于其已过时,建议使用现代的Fragment进行页面管理。在实际项目中,结合ViewPager...

    Android 自定义 ViewPager 打造千变万化的图片切换效果

    总结起来,Android自定义ViewPager或使用Jazzy ViewPager可以为应用带来独特的用户体验,通过定制过渡动画、指示器和触摸反馈,可以打造出各种各样的图片切换效果。对于想要提升应用视觉效果和互动性的开发者来说,...

    viewpager+fragment 动态更新数据

    在Android开发中,`ViewPager`和`Fragment`...总结,`ViewPager+Fragment`动态更新数据涉及了Android组件的交互、数据管理、性能优化等多个方面。理解这些原理和实践方法,能帮助开发者构建更加灵活、高效的用户界面。

    ViewPager+LinearLayout实现Tab

    总结,`ViewPager+LinearLayout`实现Tab的方式相对基础,适用于简单的Tab需求。如果项目需求复杂,推荐使用`TabLayout`,它提供了更多预设样式和更好的用户体验。在实际开发中,可以根据项目的具体需求选择合适的...

    两个ViewPager嵌套问题.rar

    总结来说,两个ViewPager的嵌套涉及到滚动逻辑、适配器设计、性能优化和事件处理等多个方面。开发者需要深入理解Android的触摸事件分发机制,以及如何有效地管理内存和提升用户体验。通过上述方法,我们可以成功解决...

    android ViewPager应用demo

    总结来说,`ViewPager` 是 Android 开发中实现多页面滑动交互的重要工具。通过配合 `PagerAdapter` 和自定义 `PageTransformer`,我们可以创建出各种丰富的滑动效果,如屏幕滑动、表情滑动和惯性滑动。在实际开发中...

Global site tag (gtag.js) - Google Analytics