क्या कोई तरीका है कि मैं SeekBar एंड्रॉइड विजेट में पृष्ठभूमि बार छवि को हटा सकता हूं?एंड्रॉइड SeekBar पृष्ठभूमि हटाएं
मैं बस इसके पीछे कोई प्रगति पट्टी वाला स्लाइडर दिखाना चाहता हूं।
किसी भी मदद की?
क्या कोई तरीका है कि मैं SeekBar एंड्रॉइड विजेट में पृष्ठभूमि बार छवि को हटा सकता हूं?एंड्रॉइड SeekBar पृष्ठभूमि हटाएं
मैं बस इसके पीछे कोई प्रगति पट्टी वाला स्लाइडर दिखाना चाहता हूं।
किसी भी मदद की?
ठीक है मैंने अपनी समस्या हल की है।
पृष्ठभूमि निकालने के लिए, यदि आप एक खाली drawable बना सकते हैं और progressDrawable के लिए सेट करने के लिए है:
satBar.setProgressDrawable(invisibleBackground);
अशक्त करने के लिए यह निर्धारित करना काम करने के लिए प्रतीत नहीं होता।
क्या आपने setBackgroundDrawable(null)
को आजमाया है?
ऐसा करने का एक तरीका प्रगति पट्टी का रंग पृष्ठभूमि रंग में बदलना होगा। आपको कस्टम लेआउट का उपयोग करना होगा।
<SeekBar
android:layout_width="350px"
android:layout_height="25px"
android:layout_margin="30px"
android:layout_x="60px"
android:layout_y="185px"
android:id="@+id/seekbar"
android:progressDrawable="@drawable/myprogress"
/>
एक कस्टम लेआउट नीचे दिया गया है - रंग के साथ चारों ओर खेलने:
<?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>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item
android:id="@android:id/progress"
>
<clip>
<shape>
<corners
android:radius="5dip" />
<gradient
android:startColor="#9191FE"
android:centerColor="#9191FE"
android:centerY="0.75"
android:endColor="#9191FE"
android:angle="270" />
</shape>
</clip>
</item>
एक सरल तरीका एक नया drawable बनाने की आवश्यकता नहीं है कि नहीं है। आप सेट अपने xml परिभाषा निम्नलिखित
android:progressDrawable="@android:color/transparent"
या यदि आप इसे अपने कोड में क्या करना चाहते हैं:
mySlider.setProgressDrawable(new ColorDrawable(android.R.color.transparent));
उपरोक्त @GuyNoir के समाधान से बेहतर समाधान जिसके लिए – Guy
बनाया जाने वाला कृत्रिम "अदृश्य ड्रॉबल" की आवश्यकता है बस एक नोट: आप # 0000 का उपयोग नहीं कर सकते हैं, लेकिन @android: रंग/पारदर्शी कार्यों का उपयोग कर सकते हैं। – sidon
लेकिन यह होलो लाइट थीम पर क्षैतिज रेखा को भी हटा देता है। मैं इसे रखना चाहता हूं। – lalitm
एक xml फ़ाइल seekbar_progress.xml
बना सकते हैं और drawable
folder.Here धारियों में यह जगह एक है छवि, एक छवि लें और इसे drawable
फ़ोल्डर में रखें।
seekbar_progress.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<clip>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/stripes"
android:tileMode="repeat"
android:antialias="true"
android:dither="true"
android:filter="false"
android:gravity="left"
/>
</clip>
</item>
</layer-list>
अब आप अपने main xml
फ़ाइल कि seekbar कोड चल रहा है, drawable
folder.here seekbar में एक छवि और दुकान ले एक छवि है।
<SeekBar
android:id="@+id/seekbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/seekbar"
android:progressDrawable="@drawable/seekbar_progress"/>
मेरे पास है। पृष्ठभूमि खींचने योग्य वास्तव में बार के पीछे है। मुझे बार को हटाने का तरीका चाहिए (और स्लाइडर की छवि भी बदलें) – GuyNoir
और इसके बाद मैं इसे प्रारंभ में कैसे बहाल कर सकता हूं? tks – Paul
@ पॉल: 'getBackground()' को पहले कॉल करने का प्रयास करें, परिणाम को कहीं सेव करें, और बाद में इसे 'setBackgroundDrawable() 'के माध्यम से पुनर्स्थापित करें। गैर समांतर नामों के बावजूद, 'GetBackground() '' Drawable' देता है। – CommonsWare