मैं एक ही SimpleDraweeView
पर अनुक्रमिक रूप से एकाधिक छवियां चलाता हूं, समस्या यह है कि एक नया imageURI अनुरोध सबमिट करते समय, SimpleDrweeView
वर्तमान प्रदर्शित छवि को हटा देगा और इसे प्रतिस्थापित करेगा यूआरआई डाउनलोड होने तक कुछ नहीं। तो यह खेल अनुक्रम में अंतराल छोड़ देगा (आप सोच सकते हैं कि मैं क्या करने की कोशिश कर रहा हूं स्थानीय फोटो का उपयोग कर कार्टून एनीमेशन है)। मैं सरल छवि को छोड़ने के लिए SimpleDrweeView के लिए क्या चाहूंगा, जब तक कि नया डाउनलोड न हो जाए और फिर तैयार होने पर इसे स्वैप करें।फ़्रेस्को: अगले अनुरोध के लिए प्लेसहोल्डर के रूप में ड्रैवे में प्रदर्शित वर्तमान छवि का उपयोग करें
मैंने पुराने यूरी को प्लेसहोल्डर के रूप में रखने के लिए this टिकट से निम्न-रेज/उच्च-रेज योजना का उपयोग करने की कोशिश की लेकिन यह काम नहीं किया (पहले जैसा ही प्रभाव था)।
यह वही है मैं अब है:
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(uri /* local image */);
और यही मैं अब तक की कोशिश की (काम नहीं किया है):
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
Uri lowResUri, highResUri;
DraweeController controller = Fresco.newDraweeControllerBuilder().setTapToRetryEnabled(true)
.setLowResImageRequest(ImageRequest.fromUri((Uri) draweeView.getTag())) /*naive way to test the low/high res feature*/
.setImageRequest(ImageRequest.fromUri(uri))
.setOldController(draweeView.getController())
.build();
draweeView.setTag(uri);
draweeView.setController(controller);
इसके लिए आपको बहुत बहुत धन्यवाद। मैं इसे अगले हफ्ते एक कोशिश देने जा रहा हूं और आपको परिणामों के बारे में बता दूंगा। – Jimmy
@plamenko आपने नई छवि को लोड करते समय मौजूदा छवि को छिपाने का फैसला क्यों किया? विकल्प प्रदान करना इसे छुपाता है या अधिक उपयोगी नहीं लगता है .. –
@ एंटनमालिसहेव, ऐसा नहीं है कि हमने मौजूदा छवि को प्रति छिपाने का फैसला किया है। यह ड्रैवे डिजाइन का एक परिणाम है। ड्रैवे छवियों को डेटासोर्स से प्रदर्शित करने के लिए प्राप्त करता है (जो बदले में प्रदायक से आता है)। ड्रैवे में केवल एक ही सप्लायर होता है जो डिजाइन को बहुत सरल बनाता है क्योंकि ड्रॉवे नियंत्रक के बजाय वहां मक्सिंग तर्क encapsulated है। ड्रैवे के साथ इस कार्यक्षमता को प्राप्त करने का एक साफ तरीका एक सप्लायर होना है जो ऐसा करता है। –
plamenko