java - 在某些 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()
}
解决方案
我不知道你有多少图像,它们的尺寸是多少,我曾经遇到过图像输入的问题viewpager
。
在我的情况下,我有超过 10 张图像,每张图像的重量超过 800kb,我检查了这个问题,如果我将 OffscreenPageLimit 更改为 1 页并且我尝试减小图像的大小,它真的很好用!
viewPager.setOffscreenPageLimit(1);
推荐阅读
- c++ - 清除向量中的重复对象会产生无限循环
- angularjs - 如何让窗口滚动功能在Angularjs中工作
- debugging - 调试 ARM Cortex-M4 中的硬故障
- swift - 如何在 Swift 中扩展 String.Iterator
- r - 梯形图 if else 中每个都有多个语句
- ruby-on-rails - 在 Rails 中限制每个用户的后台工作人员数量
- java - 如何将四个图像中的一个随机分配给一个字段
- kubernetes - Kubernetes:自定义 Pod 调度和 Volume 调度
- javascript - React,根据父组件和两个子组件之间的通信有条件地渲染组件
- c# - 使用 terminal.gui 时 C# 找不到对象引用