2013-08-07 9 views
8

Voglio sapere come posizionare il pollice al centro di una barra di ricerca. Non so come esprimere, quindi aggiungerò il link di una foto. first img è una barra di ricerca delle guide di progettazione e le belows sono i miei seekbar.android - non posso mettere il pollice al centro di una barra di ricerca

enter image description here

(ignoro su angoli. Ho sistemato dopo aver catturato le imgs.) in un primo momento, dal progettista, ho due img separata di quelli di testo, buoni e cattivi. quindi ho combinato quelli. ho pensato che avrebbe funzionato come un pollice. ma ora quello che ho ottenuto è questo risultato ... per favore aiutami .. grazie!

drawable: progressbar_goodbad xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@android:id/background"> 
    <shape> 
     <gradient 
      android:startColor="#f5c0bd" 
      android:centerColor="#f5c0bd" 
      android:centerY="0.75" 
      android:endColor="#f5c0bd" 
      android:angle="270"/> 
     <padding android:left="10dp" 
      android:top="1dp" 
      android:right="10dp" 
      android:bottom="1dp"/> 
    <corners 
     android:bottomRightRadius="10dp" 
     android:bottomLeftRadius="10dp" 
     android:topLeftRadius="10dp" 
     android:topRightRadius="10dp"/> 
</shape> 
</item> 
<item android:id="@android:id/secondaryProgress"> 
<clip> 
    <shape> 
     <gradient 
      android:startColor="#234" 
      android:centerColor="#234" 
      android:centerY="0.75" 
      android:endColor="#a24" 
      android:angle="90"/> 
     <padding android:left="1dp" 
      android:top="1dp" 
      android:right="1dp" 
      android:bottom="1dp"/> 
    <corners 
     android:bottomRightRadius="10dp" 
     android:bottomLeftRadius="10dp" 
     android:topLeftRadius="10dp" 
     android:topRightRadius="10dp"/> 
     </shape> 
</clip> 
</item> 
<item android:id="@android:id/progress"> 
<clip> 
    <shape> 
     <gradient 
      android:startColor="#fc9a94" 
      android:centerColor="#fc9a94" 
      android:centerY="0.75" 
      android:endColor="#fc9a94" 
      android:angle="90"/> 
     <padding android:left="1dp" 
      android:top="1dp" 
      android:right="1dp" 
      android:bottom="1dp"/> 
    <corners 
     android:bottomRightRadius="10dp" 
     android:bottomLeftRadius="10dp" 
     android:topLeftRadius="10dp" 
     android:topRightRadius="10dp"/> 
    </shape> 
</clip> 
</item> 
</layer-list> 

parte principale xml disposizione

<SeekBar 
    android:id="@+id/seekBar_fun" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="3dp" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp" 
    android:max="100" 
    android:progress="60" 
    android:progressDrawable="@drawable/progressbar_goodbad" 
    android:thumb="@drawable/f_02_good_bad_text" /> 
+0

Dupe: http://stackoverflow.com/questions/18995680/seekbar-thumb-center-not-at-the-start-point – greg7gkb

risposta

4

(Risposta trovata in collegamento Twinsens.)

La tua immagine del pollice deve avere è punto giallo al centro (in orizzontale); aggiungi pixel trasparenti a sinistra oa destra per renderlo tale. Quindi, modifica android:thumbOffset esattamente la metà della dimensione dell'immagine del pollice. Ad esempio, se l'immagine è 10dp in larghezza, impostare android:thumbOffset su 5dp.