ViewPager切换滑动速度修改
来源:互联网 发布:python 策略回测 编辑:程序博客网 时间:2024/05/17 23:58
转自:
http://my.oschina.net/javalover/blog/179003
ViewPager的setCurrentItem 滑动速度是写死地
public
class
FixedSpeedScroller
extends
Scroller {
02
private
int
mDuration =
1500
;
03
04
public
FixedSpeedScroller(Context context) {
05
super
(context);
06
}
07
08
public
FixedSpeedScroller(Context context, Interpolator interpolator) {
09
super
(context, interpolator);
10
}
11
12
@Override
13
public
void
startScroll(
int
startX,
int
startY,
int
dx,
int
dy,
int
duration) {
14
// Ignore received duration, use fixed one instead
15
super
.startScroll(startX, startY, dx, dy, mDuration);
16
}
17
18
@Override
19
public
void
startScroll(
int
startX,
int
startY,
int
dx,
int
dy) {
20
// Ignore received duration, use fixed one instead
21
super
.startScroll(startX, startY, dx, dy, mDuration);
22
}
23
24
public
void
setmDuration(
int
time) {
25
mDuration = time;
26
}
27
28
public
int
getmDuration() {
29
return
mDuration;
30
}
31
}
使用方法:
01
try
{
02
Field field = ViewPager.
class
.getDeclaredField(
"mScroller"
);
03
field.setAccessible(
true
);
04
FixedSpeedScroller scroller =
new
FixedSpeedScroller(mViewPager.getContext(),
05
new
AccelerateInterpolator());
06
field.set(mViewPager, scroller);
07
scroller.setmDuration(
2000
);
08
}
catch
(Exception e) {
09
LogUtils.e(TAG,
""
, e);
10
}
PagerAdapter 的 destroyItem 每次会删除上一个页面,导致,如果做自动切换页面时会看不到动画 .
解决办法:
destoryItem中不做删除view,instantiateItem中对view是否有parent做为判断条件,这种情况适用于,少量的固定的子View,比如一个Banner,banner中做自动循环播放
0 0
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- ViewPager切换滑动速度修改
- Viewpager切换滑动速度的修改
- ViewPager切换滑动速度
- ViewPager切换滑动速度
- 使用反射机制修改viewPager切换滑动速度
- 设置ViewPager滑动切换速度
- Android ViewPager 修改滑动速度
- android 修改viewpager切换速度
- ViewPager切换动画速度修改
- 修改ViewPager调用setCurrentItem时,滑屏的速度 ,解决滑动之间切换动画难看
- android中修改Viewpager的滑动速度
- 改变ViewPager滑动速度
- 改变viewpager滑动速度
- 详解JDBC与Hibernate区别
- Json转换利器Gson之实例一-简单对象转化和带泛型的List转化
- hadoop 源码学习方法
- PHP中include()与require()的区别说明
- django【本地导出的sql文件上传到SAE出现错误】
- ViewPager切换滑动速度修改
- 价格追溯及功能测试
- 奇迹般的投资15元换回500万元
- mysql命令集锦
- STL常见用法整理_multiset
- 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作--解决方法
- was unable to start within 45 seconds. If the server requires more time, try increasing the timeout
- 我是saynani
- 从java到C层的调用(以FileInputSteam为例来说明)