Android:PagerAdapter 删除最后一个视图,因此您无法向左滑动
Posted
技术标签:
【中文标题】Android:PagerAdapter 删除最后一个视图,因此您无法向左滑动【英文标题】:Android: PagerAdapter remove last view so you can't swipe left 【发布时间】:2015-01-30 15:10:06 【问题描述】:有没有办法防止用户在 PagerAdapter 中向左滑动?
当用户第一次进入应用程序时,他们无法向左滑动,因为那里什么都没有。那么,如果你每次向右滑动,左边的图像都会被破坏,并且不会像你刚开始运行应用程序时那样出现。
@Override
public Object instantiateItem(ViewGroup container, int position)
Context context = MainActivity.this;
//
Integer highest_img = mImages.length - 1;
Integer randomInt = getRanValue(highest_img);
//
ImageView imageView = new ImageView(context);
int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(mImages[randomInt]);
((ViewPager) container).addView(imageView, 0);
return imageView;
@Override
public void destroyItem(ViewGroup container, int position, Object object)
((ViewPager) container).removeView((ImageView) object);
【问题讨论】:
那么,如果视图在您向相反方向移动到其他视图时被破坏,会有什么问题呢?它有助于节省内存。 所以你想要一个单向滑动浏览器? @SamBains 这正是我想要的。 Control which directions the ViewPager can be scrolled, dynamically with UI feedback 和 How to disable ViewPager from swiping in one direction 的可能副本 【参考方案1】:我为我的问题找到了更好的解决方案。
我在 MotionEvent 中使用了 onFling() 方法,当有人滑动时,我将运行带有图像替换的动画。
【讨论】:
以上是关于Android:PagerAdapter 删除最后一个视图,因此您无法向左滑动的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Android 的 PagerAdapter 类自动显示图像?
Android PagerAdapter :: 将当前项目放入位图中
Android setVisibility无法在PagerAdapter中运行
java PagerAdapter的一个实现,可以动态添加或删除视图。