android 只修改ViewPager调用setCurrentItem时,滑屏的速度,其他正常
2017-06-28 08:47
645 查看
[java] view
plain copy
public class FixedSpeedScroller extends Scroller{
private int mDuration = 0;
public FixedSpeedScroller(Context context) {
super(context);
}
public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator) {
super(context,interpolator);
}
public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator, boolean flywheel) {
super(context, interpolator, flywheel);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
if(duration == 200)//调用setCurrentItem滑动的固定速度
super.startScroll(startX, startY, dx, dy, mDuration);
else //其他按照正常速度来
super.startScroll(startX, startY, dx, dy, duration);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy) {
super.startScroll(startX, startY, dx, dy, mDuration);
}
}
应用
[java] view
plain copy
private void setViewPagerScrollSpeed(){
try {
Field mScroller = null;
mScroller = ViewPager.class.getDeclaredField("mScroller");
mScroller.setAccessible(true);
FixedSpeedScroller scroller = new FixedSpeedScroller( myviewpage.getContext( ) );
mScroller.set( myviewpage, scroller);
}catch(NoSuchFieldException e){
}catch (IllegalArgumentException e){
}catch (IllegalAccessException e){
}
}
[java] view
plain copy
public class FixedSpeedScroller extends Scroller{
private int mDuration = 0;
public FixedSpeedScroller(Context context) {
super(context);
}
public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator) {
super(context,interpolator);
}
public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator, boolean flywheel) {
super(context, interpolator, flywheel);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
if(duration == 200)//调用setCurrentItem滑动的固定速度
super.startScroll(startX, startY, dx, dy, mDuration);
else //其他按照正常速度来
super.startScroll(startX, startY, dx, dy, duration);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy) {
super.startScroll(startX, startY, dx, dy, mDuration);
}
}
应用
[java] view
plain copy
private void setViewPagerScrollSpeed(){
try {
Field mScroller = null;
mScroller = ViewPager.class.getDeclaredField("mScroller");
mScroller.setAccessible(true);
FixedSpeedScroller scroller = new FixedSpeedScroller( myviewpage.getContext( ) );
mScroller.set( myviewpage, scroller);
}catch(NoSuchFieldException e){
}catch (IllegalArgumentException e){
}catch (IllegalAccessException e){
}
}
plain copy
public class FixedSpeedScroller extends Scroller{
private int mDuration = 0;
public FixedSpeedScroller(Context context) {
super(context);
}
public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator) {
super(context,interpolator);
}
public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator, boolean flywheel) {
super(context, interpolator, flywheel);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
if(duration == 200)//调用setCurrentItem滑动的固定速度
super.startScroll(startX, startY, dx, dy, mDuration);
else //其他按照正常速度来
super.startScroll(startX, startY, dx, dy, duration);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy) {
super.startScroll(startX, startY, dx, dy, mDuration);
}
}
应用
[java] view
plain copy
private void setViewPagerScrollSpeed(){
try {
Field mScroller = null;
mScroller = ViewPager.class.getDeclaredField("mScroller");
mScroller.setAccessible(true);
FixedSpeedScroller scroller = new FixedSpeedScroller( myviewpage.getContext( ) );
mScroller.set( myviewpage, scroller);
}catch(NoSuchFieldException e){
}catch (IllegalArgumentException e){
}catch (IllegalAccessException e){
}
}
[java] view
plain copy
public class FixedSpeedScroller extends Scroller{
private int mDuration = 0;
public FixedSpeedScroller(Context context) {
super(context);
}
public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator) {
super(context,interpolator);
}
public FixedSpeedScroller(Context context, android.view.animation.Interpolator interpolator, boolean flywheel) {
super(context, interpolator, flywheel);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
if(duration == 200)//调用setCurrentItem滑动的固定速度
super.startScroll(startX, startY, dx, dy, mDuration);
else //其他按照正常速度来
super.startScroll(startX, startY, dx, dy, duration);
}
@Override
public void startScroll(int startX, int startY, int dx, int dy) {
super.startScroll(startX, startY, dx, dy, mDuration);
}
}
应用
[java] view
plain copy
private void setViewPagerScrollSpeed(){
try {
Field mScroller = null;
mScroller = ViewPager.class.getDeclaredField("mScroller");
mScroller.setAccessible(true);
FixedSpeedScroller scroller = new FixedSpeedScroller( myviewpage.getContext( ) );
mScroller.set( myviewpage, scroller);
}catch(NoSuchFieldException e){
}catch (IllegalArgumentException e){
}catch (IllegalAccessException e){
}
}
相关文章推荐
- android 只修改ViewPager调用setCurrentItem时,滑屏的速度,其他正常
- Android之 修改ViewPager调用setCurrentItem时,滑屏的速度
- 修改ViewPager调用setCurrentItem时,滑屏的速度
- 修改ViewPager调用setCurrentItem时,滑屏的速度
- 修改ViewPager调用setCurrentItem时,滑屏的速度 ,解决滑动之间切换动画难看
- 修改ViewPager调用setCurrentItem时,滑屏的速度
- 修改ViewPager调用setCurrentItem时,滑屏的速度 ,解决滑动之间切换动画难看
- 批改ViewPager调用setCurrentItem时,滑屏的速度
- Android面试题-终极解决ViewPager.setCurrentItem中间很多页面切换方案
- 怎么设置viewpager在使用setCurrentItem的滑动速度
- ViewPager setCurrentItem 设置滑动速度
- 设置viewpager在使用setCurrentItem的滑动速度
- ViewPager调用SetCurrentItem()方法,跨页面跳转时闪屏的问题
- 无限轮播图填坑--ViewPager 调用setCurrentItem(int position) 卡死
- ViewPager调用setCurrentItem(position)时,跳转Fragment 问题
- viewPager 调用setCurrentItem()无效
- 在onTabSelected里面调用viewPager.setCurrentItem方法发生java.lang.NullPointerException错误
- 怎么设置viewpager在使用setCurrentItem的滑动速度
- viewPager.setCurrentItem有一个动画滑动效果
- 解决ViewPager.setCurrentItem不能实现平滑移动