2017-04-21 2 views
8

Je suis en train de réaliser sur mesure seekbar que comme l'image suivante
enter image description herepersonnalisée seekbar android

enter image description here

pour que je ne le code ci-dessous
J'ai créé drawable pour seekbar progressDrawable laissez-moi savoir si le code est requis, je l'afficherai ici.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:id="@+id/llScale" 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:orientation="vertical" 
      android:paddingBottom="5dp"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/white" 
    android:orientation="vertical" 
    android:padding="5dp"> 

    <TextView 
     android:id="@+id/sliderText" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:text="Bernard" 
     android:textColor="@color/blue"/> 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:background="@drawable/slider_background" 
      android:padding="3dp"> 

      <SeekBar 
       android:id="@+id/ratingBar" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:max="10" 
       android:maxHeight="100dp" 
       android:thumbTintMode="multiply" 
       android:progressDrawable="@drawable/progressbar" 
       android:thumb="@drawable/ic_slider_secondary"/> 

      <TextView 
       android:id="@+id/seekBarHint" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:gravity="center" 
       android:text="Drag slider across" 
       android:textColor="@color/dark_gray"/> 
     </FrameLayout> 

     <TextView 
      android:id="@+id/progressText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/ic_slider_progress" 
      android:gravity="center" 
      android:textColor="@color/white" 
      android:textStyle="bold"/> 
    </FrameLayout> 
</LinearLayout> 

mais avec le code ci-dessus ce que je reçois est comme ci-dessous l'image
couleur rouge clair n'est pas rempli complètement, il Gauches un peu d'espace et au cercle final sort des boundries.

enter image description here

enter image description here

Gradle

compileSdkVersion 23 
buildToolsVersion "23.0.2" 
defaultConfig { 
    applicationId "com.myapp" 
    minSdkVersion 16 
    targetSdkVersion 23 
    multiDexEnabled true 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 

quelqu'un peut-il s'il vous plaît me aider

+0

ce que vous avez besoin est un progrès personnalisé 'Drawable', vous pouvez le configurer en appelant' SeekBar # setProgressDrawable (Drawable d) ' – pskink

+0

@pskink: J'ai mis il en XML android: progressDrawable = "@ dessinable/barre de progression" –

Répondre

3

je votre code et créé démo où je l'ai fait 2 modifications ci-dessous :

  1. Définir thumbOffset avec la valeur appropriée pour moi 16.5dp travaillé.

  2. Ajouter une propriété plus android: splitTrack = "false" qui aidera à éliminer l'espace autour du pouce drawable.

    <SeekBar 
        android:id="@+id/ratingBar" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:maxHeight="100dp" 
        android:progressDrawable="@drawable/progressbar" 
        android:thumb="@drawable/ic_slider_secondary" 
        android:splitTrack="false" 
        android:thumbOffset="16.5dp"/> 
    

heureux de codage :)

+0

Merci beaucoup mon pote. :) –