How to decrease padding in NumberPicker
I want something like it:
It's surprisingly easy to archive:
(scaleX
and scaleY
equals 2.5)
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 .
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.
A simple solution is to decrease the height of the NumberPicker that will result in decrease of internal spacing between the numbers as well, in my case I have set it to 120dp and that just does the job
android:layout_height="120dp"
Here is the complete code for my NumberPicker
<NumberPicker
android:id="@+id/numberPicker"
android:layout_width="wrap_content"
android:layout_height="120dp"
android:layout_marginEnd="16dp"
android:theme="@style/myNumberPicker" />
For styling I have used the following theme in my style file
<!-- Custom style for Number Picker -->
<style name="myNumberPicker" parent="Theme.MyApplication">
<item name="android:textSize">26sp</item>
<item name="android:textColorPrimary">@color/textColorBlue</item>
<item name="colorControlNormal">@android:color/transparent</item>
<item name="android:fontFamily">@font/montserrat_semi_bold</item>
</style>
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.