`

使用ViewPager实现简单软件开机引导功能

 
阅读更多

 我理解的ViewPager是一个容器,跟ListView类似,需要跟适配器(PagerAdapter)搭配使用。

 在布局文件中声明ViewPager十分简单,跟其他控件一样。

<android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

 然后在Activity里面获得。

mViewPager = (ViewPager)findViewById(R.id.viewPager);

 ViewPager这个容器现在已经创建成功了,需要在界面上显示数据的话,就要将数据装入ViewPager容器。  通过方法setAdapter来实现数据装入。

 定义一个类,继承PagerAdapter,重写里面的方法。

private class MyPagerAdapter extends PagerAdapter {
		@Override
		public int getCount() {
			return mGuideImageId.length;
		}

		@Override
		public Object instantiateItem(View arg0, int arg1) {
			ImageView view = new ImageView(MainActivity.this);
			view.setImageResource(mGuideImageId[arg1]);
			view.setScaleType(ScaleType.CENTER_CROP);
			if(arg1 == (mGuideImageId.length-1)){//最后一个页面监听点击事件,启动APP
				view.setOnClickListener(new OnClickListener() {
					@Override
					public void onClick(View arg0) {
						Intent intent = new Intent(MainActivity.this, AppActivity.class);
						startActivity(intent);
						finish();
					}
				});
			}
			((ViewPager)arg0).addView(view);
			return view;
		}

		@Override  
		public int getItemPosition(Object object) {  
			return POSITION_NONE;  
		}

		@Override
		public void destroyItem(View arg0, int arg1, Object arg2) {
			((ViewPager)arg0).removeView((ImageView)arg2);
		}

		@Override
		public boolean isViewFromObject(View arg0, Object arg1) {
			return arg0 == arg1;
		}

		@Override
		public void restoreState(Parcelable arg0, ClassLoader arg1) {

		}

		@Override
		public Parcelable saveState() {
			return null;
		}

		@Override
		public void startUpdate(View arg0) {

		}

		@Override
		public void finishUpdate(View arg0) {

		}
	}

  其中比较重要的方法就是

      getCount:该方法的返回值表示该ViewPager有几个页面

      instantiateItem:初始化显示界面

      destroyItem:移除显示界面

 最后通过setAdapter方法将适配器与容器绑定

mViewPager.setAdapter(mMyPagerAdapter);

 现在ViewPager已经能实现图片的切换,并且在最后一幅图片被点击时,会启动新的Activity!!!

 

现在要实现在每个界面的底部设置小圆点来表示ViewPager总共有几个界面和当前显示的是第几个界面。效果如下:



 

 1 在布局文件里加上一个LinearLayout作为小圆点的父控件

<LinearLayout
        android:id="@+id/layoutIndicator"
        android:layout_width="fill_parent"
        android:layout_height="10dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="20dp"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >
</LinearLayout>

  2 在Activity里面根据界面的个数动态的添加小圆点

mLayoutIndicator = (LinearLayout)findViewById(R.id.layoutIndicator);
for(int i = 0; i < mGuideImageId.length; i++) {
	ImageView imageView = new ImageView(this);
	imageView.setImageResource(R.drawable.guide_page_indicator);
	LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(10, 10);
	lp.setMargins(0, 0, 5, 0);
	imageView.setLayoutParams(lp);
	mLayoutIndicator.addView(imageView);
}
((ImageView)mLayoutIndicator.getChildAt(0)).setImageResource(R.drawable.guide_page_indicator_focused);//设置当前显示的界面小圆点与其他的不同

  3 监听ViewPager的界面改变事件,当界面改变时,小圆点也要跟着改变。

 

mViewPager.setOnPageChangeListener(new OnPageChangeListener(){
			public void onPageSelected(int position) {
				((ImageView)mLayoutIndicator.getChildAt(position)).setImageResource(R.drawable.guide_page_indicator_focused);
				((ImageView)mLayoutIndicator.getChildAt(mImgIndex)).setImageResource(R.drawable.guide_page_indicator);
				mImgIndex = position;
			}

			public void onPageScrollStateChanged(int arg0) {

			}

			public void onPageScrolled(int arg0, float arg1, int arg2) {

			}
		});

 简单的程序启动引导功能就搞定了!

  • 大小: 22.9 KB
分享到:
评论

相关推荐

    使用ViewPager实现欢迎引导页面

    本教程将详细解释如何使用`ViewPager`来实现这一功能。 首先,我们需要理解`ViewPager`的基本工作原理。`ViewPager`通过`PagerAdapter`来管理其显示的页面。`PagerAdapter`是`PagerAdapter`接口的一个实现,如`...

    ViewPager实现开机引导界面

    本文将详细讲解如何利用ViewPager实现开机引导界面,并深入探讨其工作原理和相关技巧。 首先,ViewPager是Android Support Library的一部分,它允许用户通过左右滑动来浏览多个页面,提供了一种优雅的方式来展示...

    (安卓APP项目源代码)使用ViewPager实现左右滑动翻页.zip

    (安卓APP项目源代码)使用ViewPager实现左右滑动翻页(安卓APP项目源代码)使用ViewPager实现左右滑动翻页(安卓APP项目源代码)使用ViewPager实现左右滑动翻页(安卓APP项目源代码)使用ViewPager实现左右滑动翻页...

    安卓app开发项目-使用ViewPager实现左右滑动翻页(源码).zip

    安卓app开发项目-使用ViewPager实现左右滑动翻页(源码).zip安卓app开发项目-使用ViewPager实现左右滑动翻页(源码).zip安卓app开发项目-使用ViewPager实现左右滑动翻页(源码).zip安卓app开发项目-使用ViewPager实现...

    Android基于Fragment+ViewPager的简单开机动画以及引导页Demo源码

    本教程将详细讲解如何使用`Fragment`和`ViewPager`在Android中实现一个简单的开机动画以及引导页。 `Fragment`是Android SDK中的一个重要组件,它允许我们在一个活动中包含多个界面片段。在开机动画和引导页的场景...

    android ViewPager实现手机引导页

    在本教程中,我们将深入探讨如何使用ViewPager组件来实现手机引导页。 ViewPager是Android SDK中的一个强大的视图滑动容器,它允许用户通过左右滑动来切换不同的页面。在创建引导页时,我们通常会结合PagerAdapter...

    安卓欢迎界面引导页面viewpager相关-Viewpager实现引导页.rar

    使用ViewPager来实现欢迎界面引导页是一种常见且高效的方法,因为ViewPager可以方便地实现页面滑动效果,使用户能够流畅地浏览各个引导页面。 1. ViewPager简介: ViewPager是Android Support Library中的一个组件...

    android 使用viewpager实现图片轮播,左右可以无限制滑动

    在Android开发中,实现一个美观且功能完善的图片轮播组件是常见的需求,通常我们使用`ViewPager`来达成这一目标。`ViewPager`是一个强大的视图容器,它可以用来展示多个页面,并且用户可以左右滑动切换页面,非常...

    Android控件ViewPager实现带有动画的引导页

    Android 控件 ViewPager 是一个非常流行的控件,经常被用于实现引导页、图片展示等功能。今天,我们将详细介绍如何使用 ViewPager 实现带有动画的引导页。 知识点一:ViewPager 的基本使用 ViewPager 是一个非常...

    android ViewPager实现引导页效果

    通过以上步骤,我们可以成功利用ViewPager实现一个功能完善的引导页。这个过程涉及到了Android的布局设计、Fragment管理、自定义Adapter、事件处理等多个核心知识点,对于提升Android开发技能非常有帮助。在实践中...

    使用ViewPager来实现Tab效果

    要使用`ViewPager`实现Tab效果,通常会结合`TabLayout`,这是一个专门设计用于展示`ViewPager`的标签的组件。 1. **设置ViewPager** 首先,在布局XML文件中添加`ViewPager`,并为每个页面创建一个对应的布局文件...

    android viewpager 实现底部导航

    实现android 底部导航的方式有好几种如:fragment:、TabActivity、ViewGroup、viewPager等,这里介绍使用viewPager实现底部导航。 先说说使用viewPager实现的原因 1、fragment a 我们需要使用fragment的话,我们只能...

    Android中如何使用ViewPager实现类似laucher左右拖动效果源码

    现在,你已经具备了使用ViewPager实现类似启动器左右拖动效果的基础。在实际项目中,你可以根据需求调整代码,例如添加指示器、优化性能等。在提供的"GuideViewDemo"源码中,你可以找到更具体的实现细节和示例,这将...

    计算机毕业设计 - 使用ViewPager实现左右滑动翻页.,保证可靠运行,毕业生可参考,免费资源下载!

    计算机毕业设计 - 使用ViewPager实现左右滑动翻页.,保证可靠运行,毕业生可参考,免费资源下载! 计算机毕业设计 - 使用ViewPager实现左右滑动翻页.,保证可靠运行,毕业生可参考,免费资源下载! 计算机毕业设计 -...

    使用ViewPager实现图片的滑动

    标题“使用ViewPager实现图片的滑动”涉及到的是Android开发中的一个常见功能,即在移动设备上创建一个可以左右滑动查看多个图片的界面。ViewPager是Android SDK中的一个强大的控件,它允许用户通过水平滑动手势来...

    ViewPager实现划屏

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

    Android应用源码使用ViewPager实现左右滑动翻页.zip

    这份"Android应用源码使用ViewPager实现左右滑动翻页"的资源提供了详细的实例代码,非常适合开发者进行参考和学习。 1. **ViewPager简介** ViewPager是Android Support Library中的一个控件,它允许我们在水平方向...

    基于ViewPager实现的新手引导页(带按钮)

    在本案例中,我们将探讨如何基于ViewPager实现一个具有底部导航圆点和最后一页带有进出主界面按钮的新手引导页。 **ViewPager组件详解** ViewPager是Android SDK中的一个控件,用于展示可以左右滑动的多个页面。它...

    简单的ViewPager实现

    **ViewPager详解** ...但ViewPager的功能远不止这些,比如支持离屏页面缓存策略、自定义滑动动画、嵌套滑动等,这需要根据具体需求深入学习和实践。在实际项目中,灵活运用ViewPager可以创造出丰富的用户体验。

Global site tag (gtag.js) - Google Analytics