1. 在布局文件中添加 ViewPager:
<!-- res/layout/activity_main.xml -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
2. 创建适配器(Adapter):
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;
public class CustomPagerAdapter extends PagerAdapter {
private Context context;
private int[] images = {R.drawable.image1, R.drawable.image2, R.drawable.image3};
public CustomPagerAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
// 创建并返回页面视图
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.pager_item, container, false);
ImageView imageView = view.findViewById(R.id.imageView);
imageView.setImageResource(images[position]);
container.addView(view);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
// 移除页面
container.removeView((View) object);
}
@Override
public int getCount() {
// 返回页面数量
return images.length;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
// 判断是否是同一个页面
return view == object;
}
}
3. 创建页面布局文件(pager_item.xml):
<!-- res/layout/pager_item.xml -->
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"/>
4. 在活动中使用 ViewPager:
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取 ViewPager
ViewPager viewPager = findViewById(R.id.viewPager);
// 创建适配器
CustomPagerAdapter adapter = new CustomPagerAdapter(this);
// 设置适配器
viewPager.setAdapter(adapter);
}
}
这个简单的示例演示了如何在 Android 应用中使用 ViewPager 实现页面切换效果。你可以根据实际需求定制适配器和页面布局。
转载请注明出处:http://www.zyzy.cn/article/detail/15159/Android