2010-11-24 13 views
20

मेरे पास एक छवि दृश्य है जिसे निम्न तरीके से परिभाषित किया गया है:एक छवि दृश्य कैसे बनाएं जो माता-पिता की ऊंचाई को भरता है और एक छवि को जितना संभव हो उतना बड़ा प्रदर्शित करता है?

 <ImageView 
    android:id="@+id/cover_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_below="@id/title" 
    android:layout_above="@id/divider" 
    android:adjustViewBounds="true" 
    android:src="@drawable/image_placeholder" 
    android:scaleType="fitStart"/> 

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

छवि एक मानक स्क्रीन पर सभी जगहों को भरती है लेकिन एक डब्लूवीजीए संकल्प पर छवि ImageView की वास्तविक ऊंचाई का केवल आधा हिस्सा लेती है।

उत्तर

1

को कॉल के माध्यम से fitXY के पैमाने प्रकार बदल सकते हैं मूल रूप से इस सवाल का जवाब यहाँ आप क्या हासिल करने की कोशिश कर रहे हैं के लिए कोई पूर्वनिर्धारित मूल्य है कि वहाँ है। समाधान Matrix बनाने के लिए है जो आपकी आवश्यकताओं के अनुरूप है और पर अपने ImageView पर कॉल करें।

8

आप

imageView.setScaleType(ScaleType.FIT_XY); 
+12

ScaleType पहलू अनुपात, जो है क्या Janusz बचने की कोशिश करता बदलने करता है कि XML में करते हैं। – mreichelt

36

यदि मैं आपको सही ढंग से समझ रहा हूं, तो आपको centerCrop स्केल टाइप टाइप करने की आवश्यकता है। fitStart आनुपातिक रूप से छवि को स्केल करता है, लेकिन न तो चौड़ाई और न ही ऊंचाई दृश्य के आकार से अधिक हो जाएगी, और जैसा कि आपने कहा था, छवि होगी, top|left गुरुत्वाकर्षण है।

centerCrop का उपयोग करके छवि को आनुपातिक रूप से स्केल किया जाता है, लेकिन दृश्य के आकार से मेल खाने के लिए छवि का सबसे छोटा किनारा होता है, और यदि लंबे समय तक अतिरिक्त डेटा है जो फिट नहीं होता है, तो यह आसानी से फसल हो जाता है। गुरुत्वाकर्षण निश्चित रूप से center है। नीचे मेरे लिए काम किया:

<ImageView 
     android:src="@drawable/image_placeholder" 
     android:id="@+id/cover_view" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:scaleType="centerCrop" 
/> 
3

बस की तरह

android:scaleType="fitXY" 

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

  • कोई संबंधित समस्या नहीं^_^