मैं एक छवि दृश्य को बढ़ाने की कोशिश कर रहा हूं जो एक ड्रायरेबल को स्केल करता है जिसे मैं गैलरी व्यू में प्रदर्शित कर सकता हूं। दृश्य को बढ़ाने के लिए मेरा कोड ठीक काम करता प्रतीत होता है, सिवाय इसके कि ImageView के गुण लागू नहीं हैं। विशेष रूप से, फुले हुए इमेज व्यू में चौड़ाई/ऊंचाई नहीं है जिसे मैंने एंड्रॉइड के माध्यम से सेट किया है: एक्सएमएल में लेआउट पैराम्स।गैलरी व्यू में डालने के लिए इन्फ्लेटेड छवि दृश्य सही आकार नहीं है
क्या कोई मुझे दिखा सकता है कि मैं क्या गलत कर रहा हूं?
मैं डीपी में छवि की चौड़ाई/ऊंचाई सेट करना चाहता हूं, ताकि यह एकाधिक स्क्रीन डीपीआईएस में सही आकार हो और एंड्रॉइड 1.5+ का समर्थन करे। नतीजतन मैं की तरह कुछ का उपयोग नहीं कर सकते हैं:
i.setLayoutParams(new Gallery.LayoutParams(150, 116)
मेरे लेआउट परिभाषा है:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="150dp" android:layout_height="116dp"
android:background="@drawable/gallery_item_background"
android:scaleType="fitXY" />
</ImageView>
और टुकड़ा मैं imageView को बढ़ाने के लिए उपयोग कर रहा हूँ है:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
ImageView i = (ImageView) inflater.inflate(R.layout.gallery_item, null);
i.setImageResource(mImageIds.get(position));
i.setScaleType(ImageView.ScaleType.FIT_XY);
return i;
}
इस पल के लिए मैंने DisplayMetrics.density का उपयोग करके एक समाधान हैक किया। फ्लोट डेन = mDisplayMetrics.density; कन्वर्टव्यू.सेट लयआउट पैराम (नई गैलरी। लयआउट पैराम्स ((int) (den * 150), (int) (den * 116))); – Richard