2012-04-12 17 views
18

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

enter image description here

+0

क्या आप इसे काम करने के लिए मिला? – Shubhayu

उत्तर

45

उपयोग scaletype जो आप के लिए सबसे अच्छा लगता है (मैं तुम्हें पसंद है कि तुम क्या fitCenter के साथ देख लगता है)। अपने imageView में adjustViewBounds = "true"

: अतिरिक्त बात यह है कि आप क्या करना चाहिए

एंड्रॉयड है।

या आप FitXY के साथ जा सकते हैं लेकिन कभी-कभी परिणाम बिल्कुल वही नहीं है जो आप चाहते हैं।

+0

हां, यह गुम संपत्ति थी। AdjustViewBounds और fitCenter – Alin

+0

के साथ ठीक काम करता है मेरे पास 1000 * 800 की छवि है लेकिन मुझे इनमें से किसी भी गुण का उपयोग करके पूर्ण छवि दृश्य नहीं मिल सकता है .. यदि कोई संयोजन इसके साथ है। कृपया मेरी मदद करें –

+0

अधिक जानकारी की आवश्यकता होगी, जैसे कि छविदृश्य एक लेआउट में है जो आपकी छवि का आकार छोटा है, और छवि कैसे सेट की जा रही है। – Shubhayu

2

आप FitXY का उपयोग कर सकते हैं? यह काम करेगा यदि आप उस क्षेत्र का आकार जानते थे जिसे आप छवि में डाल रहे थे। CentreInside भी काम कर सकता है, मैंने इसका उपयोग छवियों को स्केल करने के लिए किया है, लेकिन मुझे लगता है कि यह निर्भर करता है कि यदि आप बाध्यकारी लेआउट तत्व के आकार पर नियंत्रण रखते हैं।

3

उपयोग android:scaleType="fitXY"

0

आपको या तो अपने बाहरी कंटेनर पर एंड्रॉइड: ऊंचाई = "wrap_content" सेट करने की आवश्यकता है, या टेक्स्टबॉक्स की स्थिर ऊंचाई सेट करें और ImageView android: weight = "1" दें ताकि छवि दृश्य कंटेनर में शेष स्थान ले सके।