ViewPager图片切换实现与用户交互体验优化

ViewPager 的页面滑动切换其实是 Android 开发中挺常见的需求,是在新闻应用、相册和电子书这类场景中,用户都喜欢这种左右滑动的方式。要实现这种效果,得理解一下ViewPager的基本使用。其实它是继承自ViewGroup,能够在加载相邻页面时自动好滑动过渡效果,给用户流畅的交互体验。

通常,要做的就是定义一个适配器(一般继承自PagerAdapter),在适配器中页面的加载与销毁。比如每个页面可以是包含图片和文字的布局,适配器返回的是自定义的View或者Fragment

要让用户知道当前在哪一页,通常会加一个页码指示器。比如说圆点,随着 ViewPager 页面切换,圆点也跟着变化。你可以通过addOnPageChangeListener监听页面的变化,在onPageSelected(int position)方法里更新圆点状态,简直是小细节大提升。

需要注意的是,ViewPager 也涉及到项目目录结构的组织。像AndroidManifest.xml文件中就要注意声明相关权限,而布局文件和资源文件通常放在res/layoutres/drawable下。,理解了 ViewPager 的使用和适配器设计,基本上就能轻松搞定这类需求了。你可以参考一下这篇文章,看看实现效果如何。

rar
Viewpager.rar 预估大小:71个文件
file
.project 849B
file
project.properties 563B
folder
src 文件夹
folder
com 文件夹
folder
myandroid 文件夹
folder
testviewpager 文件夹
file
ChildViewpager.java 4KB
file
MainActivity.java 6KB
file
anotherActivity.java 5KB
file
Utils.java 4KB
file
AndroidManifest.xml 896B
folder
res 文件夹
folder
drawable-ldpi 文件夹
file
vpager_dot_normal.png 1KB
file
vpager_dot_press.png 1KB
folder
drawable-hdpi 文件夹
file
no5.jpg 45KB
file
no4.jpg 22KB
file
ic_launcher.png 7KB
file
no2.jpg 21KB
file
no3.jpg 16KB
file
no1.jpg 18KB
folder
values-v11 文件夹
file
styles.xml 334B
folder
menu 文件夹
file
main.xml 263B
folder
drawable-mdpi 文件夹
file
ic_launcher.png 4KB
folder
layout 文件夹
file
array_item.xml 331B
file
viewpager.xml 3KB
file
another.xml 893B
file
activity_main.xml 425B
folder
values-sw600dp 文件夹
file
dimens.xml 203B
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 24KB
folder
drawable-xhdpi 文件夹
file
action_item_icon.png 112KB
file
ic_launcher.png 12KB
file
information_vpager_defalut_icon.png 360KB
folder
values 文件夹
file
strings.xml 230B
file
styles.xml 697B
file
dimens.xml 220B
folder
values-sw720dp-land 文件夹
file
dimens.xml 277B
folder
values-v14 文件夹
file
styles.xml 391B
folder
assets 文件夹
folder
gen 文件夹
folder
com 文件夹
folder
myandroid 文件夹
folder
testviewpager 文件夹
file
BuildConfig.java 169B
file
R.java 4KB
folder
libs 文件夹
file
android-support-v4.jar 607KB
file
.classpath 475B
file
proguard-project.txt 781B
file
ic_launcher-web.png 50KB
folder
bin 文件夹
file
resources.ap_ 624KB
folder
classes 文件夹
folder
com 文件夹
folder
myandroid 文件夹
folder
testviewpager 文件夹
file
R$layout.class 528B
file
R$style.class 458B
file
R$dimen.class 488B
file
MainActivity$MyViewPagerAdapter.class 2KB
file
BuildConfig.class 363B
file
R$drawable.class 745B
file
R$attr.class 367B
file
anotherActivity$GuidePageAdapter.class 2KB
file
ChildViewpager.class 3KB
file
anotherActivity.class 4KB
file
MainActivity$MyPageChangeListener.class 2KB
file
ChildViewpager$OnSingleTouchListener.class 292B
file
R$id.class 691B
file
Utils.class 5KB
file
R.class 763B
file
R$string.class 499B
file
R$menu.class 415B
file
anotherActivity$GuidePageChangeListener.class 1KB
file
MainActivity.class 7KB
file
AndroidManifest.xml 896B
folder
dexedLibs 文件夹
file
android-support-v4-04e33eba175709ec40226d02ed954237.jar 227KB
file
jarlist.cache 120B
folder
res 文件夹
folder
crunch 文件夹
folder
drawable-ldpi 文件夹
file
vpager_dot_normal.png 379B
file
vpager_dot_press.png 318B
folder
drawable-hdpi 文件夹
file
ic_launcher.png 6KB
folder
drawable-mdpi 文件夹
file
ic_launcher.png 3KB
folder
drawable-xxhdpi 文件夹
file
ic_launcher.png 17KB
folder
drawable-xhdpi 文件夹
file
action_item_icon.png 98KB
file
ic_launcher.png 9KB
file
information_vpager_defalut_icon.png 359KB
file
testViewpager.apk 861KB
file
classes.dex 689KB
...
rar 文件大小:3.56MB