ViewPager实现图片滑动切换示例

ViewPager,Android 中的滑动切换利器。用它实现图片轮播或者 Tab 切换,简直方便到不行。你只需要准备好适配器,配合数据源,就能让页面间的切换流畅又自然。而且,滑动的手势响应也快,基本上可以应付各种滑动需求。

核心部分就是PagerAdapter,它帮你管理数据和页面的映射关系。要重写instantiateItemdestroyItem来管理页面的创建和销毁,isViewFromObject用来判断页面是否跟数据匹配。

如果你需要在每个页面用到 Fragment,那么就用FragmentPagerAdapter。它自动生命周期,减少了多麻烦,代码简洁多了。

而数据源的选择也简单,你可以用一个ArrayList来存储图片的 URL,甚至是本地资源 ID,加载图片也可以借助Glide或者Picasso来搞定,性能杠杠的。

如果你想让用户知道自己在哪一页,底部的圆点指示器也挺常见,使用TabPageIndicator就行。至于滑动监听?是addOnPageChangeListener来搞定,方便你页面切换的动画或更新指示器。

,使用ViewPager构建滑动效果简单,搭配适配器、图片加载库、滑动监听,基本能满足大部分需求。不过,记得调好性能,尤其是在加载大量图片时,避免卡顿。

如果你有更多需求,比如垂直滑动的ViewPager,可以参考一些扩展类。

rar
MyGuideView.rar 预估大小:54个文件
folder
MyGuideView 文件夹
file
.project 847B
file
project.properties 360B
file
proguard.cfg 1KB
folder
src 文件夹
folder
com 文件夹
folder
test 文件夹
folder
guide 文件夹
file
MyGuideViewActivity.java 5KB
file
AndroidManifest.xml 788B
folder
res 文件夹
folder
drawable-ldpi 文件夹
file
ic_launcher.png 2KB
folder
drawable-hdpi 文件夹
file
feature_guide_4.png 83KB
file
feature_guide_1.png 47KB
file
ic_launcher.png 4KB
file
feature_guide_3.png 155KB
file
bg.png 1KB
file
page_indicator_focused.png 4KB
file
feature_guide_0.png 61KB
file
feature_guide_2.png 88KB
file
feature_guide_5.png 153KB
file
btn_back_bg.png 4KB
file
btn_home_bg.png 3KB
file
page_indicator.png 3KB
file
top_back_image.png 216B
file
divider_horizontal_line.png 3KB
folder
drawable-mdpi 文件夹
file
ic_launcher.png 3KB
folder
layout 文件夹
file
item02.xml 2KB
file
item_header.xml 2KB
file
item06.xml 2KB
file
item03.xml 2KB
file
item04.xml 2KB
file
item05.xml 2KB
file
item01.xml 2KB
file
main.xml 2KB
folder
values 文件夹
file
strings.xml 3KB
folder
assets 文件夹
folder
gen 文件夹
folder
com 文件夹
folder
test 文件夹
folder
guide 文件夹
file
R.java 3KB
folder
libs 文件夹
file
android-support-v4.jar 137KB
file
.classpath 430B
folder
bin 文件夹
folder
classes 文件夹
folder
com 文件夹
folder
test 文件夹
folder
guide 文件夹
file
R$layout.class 597B
file
R$drawable.class 894B
file
R$attr.class 328B
file
MyGuideViewActivity.class 3KB
file
MyGuideViewActivity$GuidePageAdapter.class 2KB
file
MyGuideViewActivity$GuidePageChangeListener.class 1KB
file
R$id.class 809B
file
R.class 503B
file
R$string.class 589B
folder
res 文件夹
folder
drawable-ldpi 文件夹
file
ic_launcher.png 2KB
folder
drawable-hdpi 文件夹
file
ic_launcher.png 4KB
file
feature_guide_3.png 152KB
file
bg.png 620B
file
page_indicator_focused.png 1KB
file
feature_guide_5.png 151KB
file
btn_back_bg.png 1KB
file
btn_home_bg.png 782B
file
page_indicator.png 606B
file
top_back_image.png 217B
file
divider_horizontal_line.png 241B
folder
drawable-mdpi 文件夹
file
ic_launcher.png 2KB
...
rar 文件大小:1023.46KB