Reputation: 2606
How to decrease padding in NumberPicker
I want something like it:
Upvotes: 26
Views: 13442
Reputation: 2828
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>
Upvotes: 1
Reputation: 1339
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.
Upvotes: 4
Reputation: 5227
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.
Upvotes: 1
Reputation: 16010
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
Upvotes: 12
Reputation: 25320
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.
Upvotes: 0
Reputation: 7982
Unfortunately, number picker is not style-able.
I advise on using a library such as the one by SimonTV
Upvotes: 4