web-dev-qa-db-fra.com

Android Le pouce SeekBar est coupé / coupé

Lorsque vous utilisez un curseur personnalisé pouvant être dessiné avec une vue SeekBar, le curseur pouvant être dessiné est découpé sur les bords gauche et droit de la vue.

Comment puis-je résoudre ce problème?

44
Jana

Vous devriez être en mesure de résoudre ce problème en définissant paddingLeft et paddingRight sur votre SeekBar sur la moitié de la largeur du pouce (n'oubliez pas d'utiliser des unités indépendantes de la densité ). Vous pouvez également contrôler l'espace autorisé sur les bords pour le pouce d'une barre de recherche en appelant setThumbOffset .

95
Roman Nurik

J'ai rencontré ce problème moi-même et je pense que le "correct" la décision serait de modifier Android:thumbOffset comme style par défaut pour un SeekBar le définit sur 8px.

30
Nicholi

Pour SeekBar par défaut, j'ai utilisé ces paramètres et cela fonctionne très bien:

Android:paddingLeft="6dp"
Android:paddingRight="6dp"

Android:thumbOffset="8dp"
9
kayz1

Juste pour clarification.

À certains endroits, j'ai vu

 Android:thumbOffset="8dp"

et certaines

Android:thumbOffset="8px"

j'ai donc regardé le code source. c'est le style original

<style name="Widget.SeekBar">
        <item name="Android:indeterminateOnly">false</item>
        <item name="Android:progressDrawable">@Android:drawable/progress_horizontal</item>
        <item name="Android:indeterminateDrawable">@Android:drawable/progress_horizontal</item>
        <item name="Android:minHeight">20dip</item>
        <item name="Android:maxHeight">20dip</item>
        <item name="Android:thumb">@Android:drawable/seek_thumb</item>
        <item name="Android:thumbOffset">8dip</item>
        <item name="Android:focusable">true</item>
    </style>

de

https://Android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/styles.xml

0
kakopappa