2012-02-15 18 views
13

मेरे पास एक छवि है जो 480 पिक्सेल 40 पिक्सल है। मैं इस छवि को एक छवि दृश्य में फिट करने के लिए स्केल किए बिना दिखाना चाहता हूं।मैं एंड्रॉइड छविदृश्य में स्केलिंग को कैसे रोकूं?

पूर्व: यदि मेरी स्क्रीन केवल 320 पिक्सल चौड़ी है तो मुझे स्क्रीन पर दिखाने के लिए केवल 320 पिक्सेल छवियां चाहिए, न कि यह छवि दृश्य में स्वयं को क्रैम करें (भले ही इसका मतलब है कि शेष छवि काट दिया जाए) ।

क्या स्केलिंग से फिट होने के लिए इसे रोकने का कोई तरीका है?

संपादित करें: इसके अलावा, मैं छवि के बाईं तरफ डिवाइस की स्क्रीन के बाईं ओर लाइन करना चाहता हूं।

धन्यवाद

उत्तर

23

उपयोग ScaleType.CENTER, एक्सएमएल में इस तरह:

android:scaleType="center" 

यह "दृश्य में चित्र का केंद्र है, लेकिन कोई स्केलिंग प्रदर्शन" होगा

यहां अधिक पढ़ें: http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

(यह जिस तरह से "छविदृश्य स्केल" googling पर पहली हिट है)

+0

'ScaleType' निश्चित रूप से जाने के लिए रास्ता है। कई अलग-अलग उपयोग मामलों के लिए काम करता है। –

+0

धन्यवाद, लेकिन क्या यह बाईं ओर टिकने का कोई तरीका है? – PaulG

+0

@PaulG RelativeLayout – AedonEtLIRA

10

मैट्रिक्स स्केलटाइप का उपयोग इसे स्केलिंग के लिए सेट करने के लिए करें और कोई केंद्र

यह पहचान मैट्रिक्स का उपयोग करेगा जब तक कि आप इसे setImageMatrix (मैट्रिक्स) का उपयोग करके सेट न करें;

android:scaleType="matrix" 

या जावा में:

view.setScaleType(ImageView.ScaleType.MATRIX); 
+0

बहुत बहुत धन्यवाद! स्केल टाइप सेंटर अपेक्षित काम नहीं करता था लेकिन मैट्रिक्स ने किया था। मेरे मामले में मेरे पास एक टेक्स्ट व्यू लेआउट_toLeft छवि है और जब टेक्स्ट बढ़ता है तो मुझे हमेशा मूल आकार के साथ रहने के अधिकार पर छवि की आवश्यकता होती है। – Moxor

0

मैं ने वही समस्या है जहाँ मैं एक निश्चित आकार ग्राफिक कि मैं स्क्रीन पर बड़े पैमाने लेकिन यह था अनुपात में रहना चाहती थी 480 x 200

मैंने ऊंचाई पर Fill_parent का उपयोग किया ताकि यह चौड़ाई पर स्केल और wrap_content होगा। साथ ही अभिभावक बाएं संरेखित करें और अभिभावक शीर्ष संरेखित करें।

अपने मामले में आप केवल दोनों पर wrap_content का उपयोग कर सकते हैं साथ ही साथ संरेखण पैरेंट बाएं। फिर मैंने सामान्य स्क्रीन पर राइट मार्जिन 180 डीपी का उपयोग करके चौड़ाई tweeked यह सुनिश्चित करने के लिए कि यह चौड़ाई बनाए रखा है।

<ImageView 
    android:id="@+id/imageLayer" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginRight="180dp" 
    tools:ignore="ContentDescription" /> 
1

इस एक का प्रयास करें:

    android:adjustViewBounds="true" 
        android:scaleType="centerCrop" 
संबंधित मुद्दे