Android 原生 ViewPager 实现卡片翻动效果
概述
在 Android 开发中,ViewPager 是常用的页面切换组件。通过自定义 PageTransformer,可以实现丰富的页面过渡动画,例如卡片翻动效果。本文将详细介绍如何通过 ViewPager 配合 PageTransformer 实现卡片缩放与位移的视觉效果。
第一步:创建卡片 View 布局
首先定义单个卡片的布局文件 home_viewpage_item.xml。该布局用于展示卡片内容,包含背景图和中心图标。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bitmap"
android:gravity="center">
<ImageView
android:id="@+id/home_viewpage_item_img"
android:paddingBottom="@dimen/dp_82"
android:paddingTop="@dimen/dp_82"
android:paddingLeft="@dimen/dp_44"
android:paddingRight="@dimen/dp_44"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
注意:确保资源文件路径正确,dp_XX 等维度值需在 values/dimens.xml 中定义。
第二步:创建适配器
创建一个继承自 PagerAdapter 的适配器类 CardAdapter。为了实现无限循环滑动效果,通常将数据量设置为一个较大的数值,并在获取资源时取模。


