これで、写真の位置を自動調整したスクロールビューのような写真のアルバムを作成するためにカスタムビューを作成しようとしていました。私は、いくつかの調整を加えたhorizontalscrollviewが仕事をすると思った。 scrollView SWに5 * LayoutWidth水平LinerLayoutを追加しましたし、このようにそのonTouchListener定義:スクロールビューは、スクロール速度が速いときにsetScrollX()を無視しています
sw.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("MotionEvent", String.valueOf(event.getAction()));
if(event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL){
int scrollX=sw.getScrollX();
Log.d("scrollX", String.valueOf(scrollX));
//Log.d("layoutWidth", String.valueOf(layoutWidth));
int aux = Math.round((float)scrollX/layoutWidth)*layoutWidth;
Log.d("correction", String.valueOf(aux));
sw.setScrollX(aux);
}
return false;
}
});
タッチ入力を解放したときに5枚の写真の一つに焦点を当て、期待と同じように働いているが、私はスクロールするととスクロールビューは、スクロールビューがただちにsw.setScrollX(aux)を無視し、スクロールし続けます。リリース後のこの自動スクロールを避けるために何かできますか?何らかの形で入力イベントのデータを操作できますか
ありがとう!