首页 > 解决方案 > 在某些 Android 设备中,ViewPage 滑动很难

问题描述

我的活动中有一个用于图像滑块的视图寻呼机当我尝试在某些 android 设备(如 xiaomim、note 8 设备)中滑动到另一个页面时遇到问题,viewPager 的移动变得很重

这是我的代码:

override fun isViewFromObject(view: View, p1: Any): Boolean {
    return view == p1
}


//
override fun instantiateItem(container: ViewGroup, position: Int): Any {
    val itemView: View = LayoutInflater.from(container.context).inflate(R.layout.image_slider_view, container, false)
    val mSliderImage: ImageView = itemView.findViewById(R.id.slider_image)
    Glide.with(itemView).load(images[position]).into(mSliderImage)


    itemView.setOnClickListener {
        if (clickable) {
            val intent = Intent(itemView.context, ImageSliderActivity::class.java)
            intent.putExtra("slider", images)
            intent.putExtra("position", position)
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
                val activityOptions = ActivityOptions.makeSceneTransitionAnimation(activity)
                itemView.context.startActivity(intent, activityOptions.toBundle())
            } else {
                itemView.context.startActivity(intent)
            }
        }
    }
    container.addView(itemView)
    Util.rotateViewsIfRTL(itemView)
    return itemView
}


override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
    (container as ViewPager).removeView(`object` as View)
}

override fun getCount(): Int {
    return images.count()
}

标签: javaandroidkotlinandroid-viewpagerswipe

解决方案


我不知道你有多少图像,它们的尺寸是多少,我曾经遇到过图像输入的问题viewpager

在我的情况下,我有超过 10 张图像,每张图像的重量超过 800kb,我检查了这个问题,如果我将 OffscreenPageLimit 更改为 1 页并且我尝试减小图像的大小,它真的很好用!

viewPager.setOffscreenPageLimit(1);

推荐阅读