2015-12-14 2 views
7

से छोटा होने के लिए कैसे सेट कर सकता हूं मेरे पास एक कस्टम seekbar है जो काफी काम नहीं कर रहा है।मैं कस्टम खोजबार के प्रगति ड्रायबल आकार को प्रोग्रेसबैकग्राउंड

मैं seekbar इस तरह दिखना चाहते हैं:

Notice the progress bar is 'skinnier' than the background

लेकिन इस के रूप में पास के रूप में मैं

The progress bar and background are the same size

पाने के लिए थोड़ा रंग और आकार के मुद्दों की उपेक्षा कर पाए हैं है , मेरी समस्या यह है कि हरे progress आकार के साथ है। क्या पृष्ठभूमि से यह छोटा बनाने का कोई तरीका है? मैंने size और padding टैग XML में टैग किए हैं, और क्लिप gravity क्लिप के साथ एक दूसरे के शीर्ष पर दो आयताकारों के साथ झुकाव की कोशिश की है, लेकिन अभी तक कोई भाग्य नहीं है।

यहाँ मेरी Seekbar drawable

<?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 android:shape="rectangle"> 
      <corners android:radius="20dp" /> 
      <solid android:color="@color/fofo_grey" /> 

     </shape> 
    </item> 

    <item android:id="@android:id/progress"> 

     <clip> 
      <shape android:shape="rectangle"> 
       <corners android:radius="20dp" /> 
        <solid android:color="@color/signup_green" /> 
      </shape> 
    </clip> 
    </item> 

</layer-list> 

है और लेआउट टुकड़ा

<SeekBar 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/seekBar" 
    android:layout_below="@+id/textView6" 
    android:layout_centerHorizontal="true" 
    android:splitTrack="false" 
    android:progressDrawable="@drawable/custom_seekbar" 
    android:thumb="@drawable/thumb_seekbar" 
    android:max="100" 
    android:progress="50" 
    android:indeterminate="false" /> 
+0

seekbar seekbar = (seekbar) findViewById (R.id.seekBar); seekBar.setScaleY (2f); seekBar.setScaleX (2f); –

+0

यहां कोई भाग्य नहीं है मुझे डर है, इसने सिर्फ पूरे 'सेकरबार' को बड़ा बना दिया है। – BlitzKraig

उत्तर

9
<?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 android:shape="rectangle"> 
      <corners android:radius="20dp"/> 
      <solid android:color="@color/fofo_grey" /> 

     </shape> 
    </item> 

    <item android:id="@android:id/progress"> 

     <clip> 
      <shape android:shape="rectangle"> 
       <corners android:radius="20dp"/> 
        <solid android:color="@color/signup_green" /> 
       <stroke android:width="6dp" 
         android:color="@color/fofo_grey" /> 
      </shape> 
    </clip> 
    </item> 

</layer-list> 

सिर्फ परिवर्तन ऊंचाई प्रगति के लिए seekbar drawable

+0

धन्यवाद डेविड, इस समाधान में मेरे अपने जवाब में आया था। यद्यपि आप पैसे पर थे, मैं आपकी स्वीकृति के रूप में चिह्नित करूंगा। – BlitzKraig

+0

यह मेरा दिन खर्च करने के बाद मेरे लिए काम है। –

5

इसे ठीक करने प्रबंधित में seekbar। विश्वास कर सकते हैं नहीं यह मुझे तो समाधान के बारे में सोच समय लगा ...

<clip> 
      <shape android:shape="rectangle"> 
       <stroke android:color="@color/fofo_grey" android:width="6dp"/> 
       <corners android:radius="20dp" /> 
       <solid android:color="@color/signup_green" /> 
      </shape> 
     </clip> 

जोड़ा गया पृष्ठभूमि तत्व के रूप में एक ही रंग के साथ एक stroke, और फेरबदल strokewidth वांछित प्रभाव को प्राप्त करने।

Finished effect

7

में स्ट्रोक विशेषता जोड़ने सिर्फ android:minHeight="2dip" और android:maxHeight="2dip" जोड़ने drawble एक्सएमएल pseekbar को

+0

धन्यवाद। यह समाधान मेरे लिए काम करता है <3 – ThanosFisherman

संबंधित मुद्दे