viewpager 显示上一页 下一页
时间: 2023-10-11 15:09:51 浏览: 60
要在 ViewPager 中显示上一页和下一页,你可以使用一个自定义的布局来实现。这个布局可以包含两个按钮,一个用于显示上一页,另一个用于显示下一页。在每个按钮的点击事件中,你可以调用 ViewPager 的 setCurrentItem() 方法来设置当前显示的页码。
下面是一个简单的实现示例:
1. 创建一个自定义的布局文件 pager_navigation.xml,添加上一页和下一页按钮:
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<Button
android:id="@+id/btn_previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一页" />
<Button
android:id="@+id/btn_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一页" />
</LinearLayout>
```
2. 在 Activity 中加载布局文件,并找到上一页和下一页按钮:
```java
View pagerNavigation = getLayoutInflater().inflate(R.layout.pager_navigation, null);
Button btnPrevious = pagerNavigation.findViewById(R.id.btn_previous);
Button btnNext = pagerNavigation.findViewById(R.id.btn_next);
```
3. 设置按钮的点击事件,通过 ViewPager 的 setCurrentItem() 方法切换页面:
```java
btnPrevious.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int currentPage = viewPager.getCurrentItem();
if (currentPage > 0) {
viewPager.setCurrentItem(currentPage - 1);
}
}
});
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int currentPage = viewPager.getCurrentItem();
if (currentPage < adapter.getCount() - 1) {
viewPager.setCurrentItem(currentPage + 1);
}
}
});
```
其中,adapter.getCount() 方法返回 ViewPager 中页面的总数。注意,在设置当前页码时,要判断当前页码是否已经到达边界。