web-dev-qa-db-fra.com

Comment diminuer le remplissage dans NumberPicker

Comment diminuer le remplissage dans NumberPicker 

 enter image description here

Je veux quelque chose comme ça: 

 enter image description here

18
comalex3

C'est étonnamment facile à archiver:

 enter image description here
(scaleX et scaleY est égal à 2,5)

 enter image description here
(sans scaleX et scaleY)

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

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

Et définissez simplement smalllayout_heightetscaleX,scaleX:

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

Je conviens que cette variable NumberPicker est difficilement personnalisable.

J'espère que ça aide

8
Konstantin Loginov

Malheureusement, le sélecteur de numéro ne peut pas être stylé.

Je conseille d'utiliser une bibliothèque telle que la une de SimonTV

3
grebulon

Essayez de personnaliser votre thème NumberPicker comme ci-dessous:

    <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>

J'espère que cela vous aidera.

1
pRaNaY

Comme Grebulon l'a souligné, il est très simple de personnaliser le sélecteur si vous utilisez la bibliothèque par  simon TV .

Ce sont le code et les résultats

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

Je l’ai bifondé une fois pour augmenter le nombre de roues de sélecteur. Voici la sortie du code ci-dessus.

1
Sanjeet A

C'est probablement un peu tard, mais vous pouvez définir la hauteur explicite sur la variable NumberPicker. Elle suit ensuite la hauteur donnée et ajuste l'espace entre les éléments.

1
Bakhshi