2012-02-24 10 views
5

सबसे पहले, यह "प्रगति बार रंग बदलने के तरीके" का एक डुप्लिकेट है, यह मेरी समस्या का समाधान करता है, लेकिन यह एक और उत्पादन करता है।एंड्रॉइड - एनीमेशन खोने के बिना क्षैतिज प्रगति बार रंग कैसे बदलें

तो, मैं एक क्षैतिज प्रगति बार, मैं लिख/प्रगति बार एक अद्यतन करने, यानी सेट प्रगति से एक के लिए, तो दो, (100)% पूरा होने के अनुकरण करने के लिए रखने के लिए, यह अच्छी तरह से काम करता है अगर मैं डॉन ' रंग बदल नहीं है। हालांकि, जैसा कि आप जानते हैं, कुछ फोनों पर, प्रगति पट्टी के लिए डिफ़ॉल्ट संसाधन रंग हरा है, कुछ नारंगी है, मैं चाहता हूं कि सभी उपकरणों पर रंग हरा हो, इसलिए प्रगति बार विशेषता में, मैंने progressDrawable सेट किया है (अधिकांश द्वारा सुझाया गया निम्नलिखित xml फ़ाइल

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<corners android:radius="5dip" /> 
<gradient 
    android:startColor="#4CC417" 
    android:centerColor="#4CC417" 
    android:centerY="0.75" 
    android:endColor="#4CC417" 
    android:angle="270" 
/> 
</shape> 

तो मुझे लगता है कि प्रगति बार अब सिर्फ पूरे प्रगति (यानी अंतिम प्रतिशत, 100) को प्रदर्शित करता है क्या करना Stackoverflow पर जवाब) की, आप 0 से करने के लिए एनीमेशन नहीं दिख रहा है जो कुछ भी प्रतिशत।

  1. क्या प्रगति पट्टी के डिफ़ॉल्ट रंग को बदलने का कोई तरीका है, और अभी भी डिफ़ॉल्ट एनीमेशन है?

  2. यदि यह संभव नहीं है, तो क्या इसका मतलब है कि मुझे अपनी खुद की एनीमेशन करना है? यदि हां, तो क्या कोई मुझे प्रगति पट्टी की नकल करने के लिए अपनी खुद की एनीमेशन कैसे प्राप्त कर सकता है इस पर एक स्निपेट दे सकता है?

उत्तर

0

प्रगति बार drawable आईडी "पृष्ठभूमि" और "प्रगति", वैकल्पिक रूप से एक तिहाई से एक, "secondaryProgress" के साथ दो आइटम होना आवश्यक है। क्या यहाँ है पर एक नज़र डालें: https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable/progress_horizontal.xml

आपके मामले में, drawable इस प्रकार दिखाई देगा:

<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="#4CC417" 
         android:centerColor="#4CC417" 
         android:centerY="0.75" 
         android:endColor="#4CC417" 
         android:angle="270" 
       /> 
      </shape> 
     </clip> 
    </item> 

</layer-list> 

इसके अलावा "क्लिप" तत्व, महत्वपूर्ण है, क्योंकि यह संभव है इसे का उपयोग प्रणाली क्लिप करने के लिए "प्रगति" आकार। http://developer.android.com/reference/android/graphics/drawable/ClipDrawable.html देखें।

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