android – How to decrease padding in NumberPicker-ThrowExceptions

Exception or error:

How to decrease padding in NumberPicker

enter image description here

I want something like it:

enter image description here

How to solve:

It’s surprisingly easy to archive:

enter image description here
(scaleX and scaleY equals 2.5)

enter image description here
(without scaleX and scaleY)

    String[] values = {"Public", "Shared", "Private",....};

    NumberPicker np=
            (NumberPicker) findViewById(R.id.numberPicker);
    np.setMaxValue(values.length-1);
    np.setMinValue(0);
    np.setDisplayedValues(values);

And simply set small layout_height and scaleX, scaleX:

<NumberPicker
    android:id="@+id/numberPicker"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:scaleX="2.5"
    android:scaleY="2.5"/>

I do agree, that standard NumberPicker is hardly customizable, though.

I hope, it helps

###

Unfortunately, number picker is not style-able.

I advise on using a library such as the one by SimonTV

###

This is probably a bit late but you can set the explicit height on the NumberPicker it then follows the given height and adjusts the space between the items.

###

As Grebulon pointed its very simple to customize the picker if you are using the libray by simon TV .

These are the code and the results-

<net.simonvt.numberpicker.NumberPicker
        android:id="@+id/numberPicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:internalMaxHeight="100dp"
        app:selectionDividersDistance="30dp"/>

I was forked it once to increase the number of selector wheels.
Here is the output of above code.

###

Try to customize your NumberPicker Theme like below:

    <style name="Widget.Holo.NumberPicker" parent="Widget.NumberPicker">
  <!-- Customize your theme here -->
  <item name="android:selectionDivider">@android:drawable/numberpicker_selection_divider</item>
  <item name="android:selectionDividerHeight">2dp</item>
  <item name="android:selectionDividersDistance">25dp</item>
  <item name="android:internalMinWidth">50dp</item>
  <item name="android:internalMaxHeight">100dp</item>

</style>

Hope it’s help your.

Leave a Reply

Your email address will not be published. Required fields are marked *