7

ナンバーピッカーのスクロール/フリングを高速化するにはどうすればよいですか? 現在、00分から59分に行くのに非常に手間がかかります。Android の Viewpager コントローラーの速度を遅くする の例をいくつか試し、その反対をナンバーピッカーに適用しましたが、違いはわかりません。

ここに画像の説明を入力

try {
        Field mScroller;
        mScroller = NumberPicker.class.getDeclaredField("mFlingScroller");
        mScroller.setAccessible(true);
        FixedSpeedScroller scroller = new FixedSpeedScroller(getContext(),null,true);

        // scroller.setFixedDuration(5000);
        // scrollBy(0,1500);

        Log.v("Scroller",""+mScroller); //getting the mFlingScroller field
        mScroller.set(this, scroller);

    } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
        e.printStackTrace();
    }

public class FixedSpeedScroller extends Scroller {

    private int mDuration = 10;

    public FixedSpeedScroller(Context context) {
        super(context);
    }

    public FixedSpeedScroller(Context context, Interpolator interpolator) {
        super(context, interpolator);
    }

    public FixedSpeedScroller(Context context, Interpolator interpolator, boolean flywheel) {
        super(context, interpolator, flywheel);
    }


    @Override
    public void startScroll(int startX, int startY, int dx, int dy, int duration) {
        // Ignore received duration, use fixed one instead
        super.startScroll(startX, startY, dx, dy, mDuration);
    }

    @Override
    public void startScroll(int startX, int startY, int dx, int dy) {
        // Ignore received duration, use fixed one instead
        super.startScroll(startX, startY, dx, dy, mDuration);
    }
}

mDuration を example(5000) よりも低い値に減らしました。しかし、まだ希望はありません。いくつかの助けをいただければ幸いです。前もって感謝します!!!:)

4

0 に答える 0