creditScrollView.post(
new
Runnable() {
@Override
public
void
run() {
final
ObjectAnimator[] anim = {ObjectAnimator.ofInt(creditScrollView,
"scrollY"
, creditLayout.getBottom()).setDuration(
25000
)};
anim[
0
].start();
creditScrollView.setOnTouchListener(
new
View.OnTouchListener() {
@Override
public
boolean
onTouch(View v, MotionEvent event) {
switch
(event.getAction()) {
case
MotionEvent.ACTION_CANCEL:
case
MotionEvent.ACTION_UP:
Handler mHandler =
new
Handler();
mHandler.postDelayed(
new
Runnable() {
@Override
public
void
run() {
anim[
0
].start();
scrollStop =
true
;
}
},
400
);
break
;
case
MotionEvent.ACTION_DOWN:
break
;
case
MotionEvent.ACTION_SCROLL:
case
MotionEvent.ACTION_MOVE:
anim[
0
].pause();
anim[
0
] = ObjectAnimator.ofInt(creditScrollView,
"scrollY"
, creditLayout.getBottom()).setDuration(
25000
);
scrollStop =
false
;
creditScrollView.setOnScrollChangeListener(
new
View.OnScrollChangeListener() {
@Override
public
void
onScrollChange(View v,
int
scrollX,
int
scrollY,
int
oldScrollX,
int
oldScrollY) {
if
(!scrollStop) {
creditScrollView.smoothScrollTo(scrollX, scrollY);
}
}
});
break
;
}
return
false
;
}
});
}
});