android-viewpager - 如何禁用在android中扩展PagerAdapter的手指触摸viewpager滑动
问题描述
我有带视图寻呼机的滑块。我有适配器扩展PagerAdapter
。问题是:我不希望用手指滑动滑块。这意味着,我希望它自动工作。
public class TopFoodSlider_adapter extends PagerAdapter {
private Context context;
private List<top_food_slider> slideList;
private int custom_postion = 0;
private int t =0;
public TopFoodSlider_adapter(Context context, List<top_food_slider> slideList) {
this.context = context;
this.slideList = slideList;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return (view == object);
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position)
{
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.top_food_slider_item,container,false);
top_food_slider slid = slideList.get(custom_postion);
custom_postion++;
int img=slid.getImg_src();
ImageView imageView=view.findViewById(R.id.imageView);
imageView.setImageResource(img);
container.addView(view);
if (custom_postion>=slideList.size())
custom_postion = 0;
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((LinearLayout)object);
}
}
解决方案
StoryViewPager
您可以通过扩展和覆盖onTouchEvent
和来禁用滑动onInterceptTouchEvent
。
class NoSwipingViewPager @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null
) : ViewPager(context, attrs) {
override fun onTouchEvent(event: MotionEvent): Boolean {
return false
}
override fun onInterceptTouchEvent(event: MotionEvent): Boolean {
return false
}
}
您可以在这些答案中阅读更多相关信息:如何通过在 ViewPager 中用手指滑动来禁用分页但仍然能够以编程方式滑动?
我希望这有帮助!
推荐阅读
- c - 编译器执行顺序
- swift3 - 如何将操作按钮添加到 collectionView 的部分单元格中?
- yii - 在 Yii 2 中创建的缓存文件总是使用错误的权限
- r - 使用 ggplot 将形状分配给 n 行的 n-1 点
- json - Angular:通过 routerLink 传递复杂的 JSON
- matlab - 交换条件时,带有“或”运算符的 if 语句给出不同的结果
- mongodb - 从 MongoDB 中 sid=1 的评级中选择 avg(rate)
- html - Angular ng-repeat 排序成几个 div
- node.js - 是否从 botbuilder-cognitiveservices.js 中删除了 LuisActionBinding.js
- asp.net - Asp.net core 2 与 angular 6 模板