1

概要

Android 番号ピッカーで前後の番号を非表示にしようとしています。さらに、NumberPicker クラスを拡張して、フォント サイズと色を変更できるようにします。値を変更できる可能性があることに気付きました。

private static final int MODIFIED_SELECTOR_WHEEL_ITEM_COUNT = 3;

静的な最終値をオーバーライドする方法がわかりません。

デフォルトの番号ピッカー:

デフォルトのナンバーピッカー

望ましい変更された番号ピッカー 番号ピッカー をアニメーションをそのままにして、次のように見せたいと思います。

修正番号ピッカー

拡張ナンバー ピッカー クラス:

public class CustomStatNumberPicker extends android.widget.NumberPicker{
    private static final int MODIFIED_SELECTOR_WHEEL_ITEM_COUNT = 1;

    public CustomStatNumberPicker(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void addView(View child) {
        super.addView(child);
        updateView(child);
    }

    @Override
    public void addView(View child, int index, android.view.ViewGroup.LayoutParams params) {
        super.addView(child, index, params);
        updateView(child);
    }

    @Override
    public void addView(View child, android.view.ViewGroup.LayoutParams params) {
        super.addView(child, params);
        updateView(child);
    }

    private void updateView(View view) {
        if(view instanceof EditText){
            ((EditText) view).setTextSize(40);
            ((EditText) view).setTextColor(Color.parseColor("#FFFFFF"));
        }
    }

}

TL;DR; 前と次のナンバー ピッカーの値を非表示にするにはどうすればよいですか? メソッドをオーバーライドするか、すでに行ったように拡張クラスを変更します。

前もって感謝します。

4

1 に答える 1

1

描画ルーチンを変更して、中央の行にないインデックスをスキップすることができます。1478 行目の条件を変更してみてください 。

于 2016-11-08T22:04:03.107 に答える