2011-06-01 4 views
14

रखने के लिए दूसरा मूल्यांकन करें मुझे Android <ImageView> के लिए <img width="100%" /> जैसे कुछ चाहिए। मेरा मतलब है कि सभी उपलब्ध स्थान (छवि की चौड़ाई को कम या विस्तृत करें) के लिए चौड़ाई का आकार बदलें और पहलू अनुपात को बनाए रखने के लिए स्वचालित रूप से ऊंचाई बदलें।छवि मुक्त स्थान फिट करने के लिए एक आयाम देखें और पहलू राशन

Something like <ImageView android:layout_width="match_parent" android:layout_height="auto">

उपयोग android:scaleType="fitCenter" छवि के साथ क्या मैं क्या चाहते हैं, लेकिन केवल छवि के साथ, जो अपने आप देखें की ऊंचाई नहीं बदलता है। जब मैं बूथ आयामों को match_parent पर सेट करता हूं तो मुझे वह चाहिए जो मैं चाहता हूं, लेकिन केवल तभी जब मेरे पास स्क्रीन पर केवल एक छवि हो। लेकिन मुझे छवि के तहत कुछ ग्रंथों की आवश्यकता है।

यह केवल छवि दृश्य के बच्चे को बनाने का एकमात्र तरीका है? उदाहरण के लिए android:adjustViewBounds="true" मेरे लिए कुछ भी नहीं करता है।

उत्तर

18

मुझे पता चला कि समस्या कहां है। ImageView का डिफ़ॉल्ट कार्यान्वयन छवि को बड़ा नहीं कर सकता है। अगर छवि स्क्रीन चौड़ाई एंड्रॉइड से बड़ी है: adjustViewBounds = "true" सही ढंग से काम करता है और छवि के पहलू अनुपात को बनाए रखने के लिए ऊंचाई समायोजित करता है। लेकिन अगर छवि छोटी है तो स्क्रीन चौड़ाई यह इसे ऊपर नहीं बढ़ाती है।

यह इस कोड

if (newHeight <= heightSize) { 
    heightSize = newHeight; 
} 

imageView कक्षा में (लाइन 688 पर, एपीआई 10)

मैं imageView जो छवि विस्तार चौड़ाई फिट करने के लिए अनुमति देते हैं की विशेष बच्चे बनाया द्वारा कारण है।

यहाँ है: https://gist.github.com/tprochazka/5486822

+0

मैं अपने कोड का उपयोग कर रहा हूँ, सूचीदृश्य में, सार्वभौमिक छवि लोडर के साथ, और मैंने देखा है, कि बड़े चित्र के साथ, यह ui एक बहुत रुक जाता। कोई विचार यह कैसे अधिक कुशल बनाने के लिए? – Tamas

+0

मेरा संशोधन बड़ा IamgeView क्षेत्र फिट करने के लिए फिट छोटी छवियों के लिए है, उदाहरण के लिए यदि उपयोगकर्ता टैबलेट या ऐप को उच्च स्क्रीन घनत्व वाले ऐप पर चलाता है। यदि आप ListView में बड़ी छवियों का उपयोग करना चाहते हैं तो आपको इसे छवि दृश्य आकार में फिट करने के लिए डाउनस्केल करना चाहिए और एलआरयू डिस्क कैश में इस आकार को कैश करना चाहिए। – ATom

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