Android – How to reduce the font size in NumberPicker

androidnumberpicker

All, I'm customizing a city picker, which uses three numberPicker inside,like this:
enter image description here

Its a Chinese province-city-area picker.

The code:

String[] areas = get_from_somewhere();
areaPicker.setDisplayedValues(areas);

I want to reduce the font size,any advice?

Solution: Refer to this

Best Solution

You can extend the default NumberPicker in your Custom class CustomNumberPicker for this:

public class CustomNumberPicker extends NumberPicker {

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

    @Override
    public void addView(View child) {
        super.addView(child);
        if(child instanceof EditText) {
            ((EditText) child).setTextSize(25);
        }
    }
}

Now replace your current NumberPicker in xml with CustomNumberPicker:

<com.pkg.name.CustomNumberPicker
    android:id="@+id/number_picker"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />