2011-08-12 11 views
11

क्या आप मेरे लेआउट को कॉन्फ़िगर करने में मेरी सहायता कर सकते हैं? मैं हासिल नहीं कर मैं क्या देख रहा हूँ:एक छवि दृश्य (और इसके स्रोत) को लेआउट चौड़ाई में फिट करें और इसकी ऊंचाई आनुपातिक

मैं समझाता है कि मैं क्या चाहते हैं के लिए लाल को imageView पृष्ठभूमि तैयार की है:

छवि की चौड़ाई लेआउट चौड़ाई से छोटा है। मैं चाहता हूं कि छवि पहली छवि पर पहलू तक पहुंचने तक आनुपातिक रूप से अपने पहलू अनुपात को बनाए रखे (मैंने इसे फ़ोटोशॉप के साथ मैन्युअल रूप से संशोधित किया) लेकिन चौड़ाई = "fill_parent" सेटिंग करते समय परिणाम दूसरी छवि है और चौड़ाई और ऊंचाई दोनों को " fill_parent "परिणाम तीसरी छवि है।

मुझे कोई सफलता

मैं पहला विकल्प कैसे प्राप्त कर सकते के साथ ScaleType के साथ गठबंधन करने की कोशिश की? धन्यवाद

enter image description here

उत्तर

2

विशेषता fit_center अपने imageView टैग में प्रयोग करें।

<ImageView ... android:scaleType="fitCenter" .. /> 
+0

आपके तेज़ उत्तर के लिए धन्यवाद। आपका मतलब एंड्रॉइड है: स्केल टाइप = "फिट सेंटर" सही? उस विकल्प के साथ और परिणाम को भरने के लिए दोनों आयाम छवि 3 (बीच में छवि के साथ) के समान हैं। और उदाहरण के लिए ऊंचाई = "wrap_content" के साथ परिणाम केंद्र में क्षैतिज (क्षैतिज) – Addev

+0

दोनों छवियों के लिए "wrap_content" का उपयोग करें और एंड्रॉइड जोड़ें: layout_weight = "1" यदि आप LinearLayout –

14

उपयोग android:adjustViewBounds=true के लिए ImageView


एक्सएमएल में attr यह सवाल यहाँ imageView वर्ग का विस्तार करके हल किया जाता है।

Android ImageView adjusting parent's height and fitting width


मैं एक नमूना बनाया। इससे मेरा काम बनता है। एक्सएमएल लेआउट फ़ाइल यहाँ है।

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ImageView android:src="@drawable/hydrangeas" 
     android:layout_height="wrap_content" android:id="@+id/imageView1" 
     android:scaleType="centerInside" 
     android:adjustViewBounds="true" 
     android:background="@android:color/white" 
     android:layout_width="wrap_content"/> 

</LinearLayout> 

यह fitCenter के लिए भी काम करता है। स्नैपशॉट पर एक नज़र डालें।
With centerInside and adjustViewBounds="true"

+0

का उपयोग कर रहे हैं तो वास्तव में छवि 2 है समझ में नहीं आता कि कैसे व्यूबाउंड्स काम करता है लेकिन मैं इसके साथ अपने लक्ष्य तक नहीं पहुंच सकता, क्या आप इसे और कुछ और कैसे समझा सकते हैं? – Addev

+0

इसके साथ scaletype = centerInside का उपयोग करने का प्रयास करें। – Ronnie

+1

हाय, यह मेरे मामले में भी काम नहीं कर रहा है। माता-पिता के दृश्य को फिट करने के लिए छोटी छवि को अपरिवर्तित नहीं किया गया है, लेकिन कुछ सीमाएं शेष हैं। –

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