1.自定义ViewPager
package com.example.test.diyview;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import androidx.viewpager.widget.ViewPager;
/**
* Create by 王帅
* on 2020/4/17
* 自定义ViewPager
* 解决滑动和切换多页面闪烁的问题
*/
public class CustomViewPager extends ViewPager {
private boolean isCanScroll = true;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomViewPager(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public void setCanScroll(boolean isCanScroll) {
this.isCanScroll = isCanScroll;
}
@Override
public boolean onTouchEvent(MotionEvent arg0) {
// TODO Auto-generated method stub
if (isCanScroll) {
return super.onTouchEvent(arg0);
} else {
return false;
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
// TODO Auto-generated method stub
if (isCanScroll) {
return super.onInterceptTouchEvent(arg0);
} else {
return false;
}
}
@Override
public void setCurrentItem(int item, boolean smoothScroll) {
//表示切换的时候,不需要切换时间。解决滑动和切换多页面闪烁的问题
super.setCurrentItem(item, smoothScroll);
}
@Override
public void setCurrentItem(int item) {
super.setCurrentItem(item, false);
}
}
2.res---layout布局中使用自定义ViewPager
<com.example.test.diyview.CustomViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/vp_myvp"
/>
通过自定义ViewPager控件super.setCurrentItem(item, smoothScroll);(表示切换的时候,不需要切换时间。解决切换多页面闪烁的问题),希望对大家的工作和学习有所帮助。
本文介绍了一种自定义ViewPager的方法,通过修改super.setCurrentItem(item,smoothScroll)来解决页面切换时的闪烁问题,适用于多页面滑动场景,对工作和学习有一定帮助。

6785

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



