2010-05-31 9 views
7

मेरे पास कुछ छवियां हैं जिन्हें मैंने बिटमैप वैरिएबल में संग्रहीत रिमोट स्रोत से लोड किया है और मैं उन्हें प्रदर्शित करना चाहता हूं। इन छवियों के बीच स्विच करने के अलावा उपयोगकर्ता को ज़ूम और पैन करने में भी सक्षम होना चाहिए। मेरा पहला विचार किसी भी तरह से अंतर्निहित गैलरी एप्लिकेशन के इरादे से उन्हें पास करना था, लेकिन यह संभव नहीं लगता है। कई स्थानों पर सुझाए गए समाधान का उपयोग वेबव्यू का उपयोग कर रहा है क्योंकि यह पहले से ही ज़ूमिंग और पैनिंग का समर्थन करता है। मेरा सवाल यह है कि मेरा बिटमैप डेटा वेबव्यू में कैसे मिलता है? क्या मुझे इसे पहले फ़ाइल में लिखना है, जिसे मुझे बाद में फिर से हटाना होगा, या क्या कोई आसान तरीका है?एंड्रॉइड: वेबव्यू बनाने का सबसे आसान तरीका बिटमैप प्रदर्शित करता है?

या मेरे मुख्य लक्ष्य को पूरा करने के लिए भी बेहतर तरीके हैं, जो बिटमैप डेटा को ज़ूम करने योग्य और पैन करने योग्य छवियों के रूप में प्रदर्शित कर रहे हैं?

उत्तर

0

मैं वेबव्यू से संतुष्ट नहीं था, इसलिए मैंने अपनी छवि देखने गतिविधि को समाप्त कर दिया। मैंने यह कैसे किया है इसके बारे में और विवरण in this post on google groups पाया जा सकता है।

4

आप सीधे अपनी छवि को सीधे देखने के लिए वेबदृश्य का उपयोग कर सकते हैं। आपको फ़ाइल में छवि को और सहेजने की आवश्यकता नहीं है। यहां एक नमूना कोड स्निपेट है।

myWebView.getSettings().setBuiltInZoomControls(true); //to get zoom functionalities 

String url = "http://....."; //url of your image 

String x= "<html><head><meta name=\"viewport\" content=\"width=device-width, minimum-scale=1.0\"/><style type=\"text/css\">html, body {margin: 0;padding: 0;} img {border: none;}</style><head><body style=\"background: black;\"><table><tr><td align=\"center\"><img src=\"" + url + "\" /></td></tr></table></body></html>"; 

myWebView.loadData(x, "text/html", "UTF-8"); 

छवियों को स्विच करने के बारे में, आप केवल यूआरएल के मान को बदल सकते हैं और फिर से वेबव्यू के लोडडेटा को कॉल कर सकते हैं।

+0

कारण है कि मैं बिटमैप डेटा है कि मैं पहले से ही भरा हुआ है इस तरह से अपने आवेदन छवि को कैश कर सकते हैं कि (डेटाबेस में मेरे मामले में) तो यह केवल एक बार लोड किया जा करना होगा पास करना चाहते हैं। –

+0

जहाँ तक मुझे पता है, वेबव्यू पहले से ही एक कैशिंग सुविधा है। आप अपने कैश मोड को निर्दिष्ट करके अपने व्यवहार को ओवरराइड कर सकते हैं। myWebView.getSettings()। SetCacheMode (मोड); आप इस लिंक को देख सकते हैं। http://developer.android.com/intl/de/reference/android/webkit/WebSettings.html तुम भी किसी और की अवधि समाप्त हो जाए, मोड जिसमें यह कैश का उपयोग करता है, तो सामग्री है के रूप में 'LOAD_CACHE_ELSE_NETWORK' का उपयोग कर सकते हैं, नेटवर्क से लोड करें। एक और तरीका है मैन्युअल रूप से, संभवत: ज़ूम संभाल पैनिंग और वेबव्यू का उपयोग किए बिना अपने आप से कैशिंग के लिए है। आप android स्रोत कोड के कैमरा पैकेज के अंतर्गत कोड देख सकते हैं ViewImage.java। – capecrawler

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