public class WidthViewPagerAdapter extends PagerAdapter {
private List<String> mData;
public WidthViewPagerAdapter(List<String> mData) {
this.mData = mData;
}
@Override
public int getCount() {
return mData.size();
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
View view = LayoutInflater.from(container.getContext()).inflate(R.layout.item_viewapger, container, false);
TextView textView = view.findViewById(R.id.text);
textView.setText("这个是第:" + position + "个");
container.addView(view);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@Override
public float getPageWidth(int position) {
return 0.25f;
}
}
感觉可以做出很炫的效果!
预设一次加载几页
mViewPager.setOffscreenPageLimit(3);
添加PagerTabStrip:
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.viewpager.widget.PagerTabStrip
android:layout_width="match_parent"
android:layout_height="50dp">
</androidx.viewpager.widget.PagerTabStrip>
</androidx.viewpager.widget.ViewPager>
适配器里边设置:
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return mData.get(position);
}
效果图:

本文介绍了如何在Android中设置ViewPager的宽度,以实现更个性化的展示。通过预设一次加载的页面数量,结合PagerTabStrip的使用,可以创建出吸引人的视觉效果。在适配器中进行相应设置后,可以看到预期的展示结果。
9637

被折叠的 条评论
为什么被折叠?



