主にRPA、Androidアプリ開発について投稿しています。メモ書きです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
private int oldX;
ScrollView.OnTouchListener OnTouchDate = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int width = v.findViewById(R.id.tvMonth_01).getWidth()+v.findViewById(R.id.lineMonth_00_01).getWidth();
int scrollX = v.getScrollX();
int index =scrollX / width; //firstVisibleItem
int su = scrollX % width; //firstVisibleItemとNextの揺らぎ
int newX;
if(su > width / 2){
newX = (index + 1) * width; //半数超えてるなら次に吸いつき
}else{
newX = (index) * width; //半数超えてないなら前に吸いつき
}
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// タップした時に ScrollViewのScrollY座標を保持
oldX = scrollX;
break;
case MotionEvent.ACTION_MOVE:
// scroll座標とoldを比較。スクロール状態の判定。
if (oldX != scrollX) {
//スクロール中
}
System.out.println("スクロール終了");
break;
case MotionEvent.ACTION_UP:
//吸いつき座標先へスクロール
v.setScrollX(newX);
break;
default:
//来ない
break;
}
return false;
}
};