سؤال

في الوقت الحالي ، أقوم بتطوير تطبيق Android باستخدام SDK 1.5 وتطبيق اختبار على HTC Hero ، البرامج الثابتة الخاصة بها هي Android 1.5.

اسمحوا لي أن أتوصل إلى النقطة الفعلية: في التطبيق ، لدي صورة VICTION لعرض الصورة (دقة الصورة هي 320*480) ، والآن يعرض ImageView الصورة على الشاشة الكاملة ، ولكن عندما أحاول اختبارها على HTC EVO 4G (وجود دقة 480*800) ، يتم تمديد الصورة.

لذا ، ما أحب أن أفعله هو LAINE لعرض صورة دقة 320*480 في جميع الأجهزة المحمولة ذات الدقة الشاشة؟ يعني القول ، إذا كان الهاتف المحمول ذا دقة أعلى (أي 480*800 ، 480*854 ، أو غير ذلك) من الصورة يجب عرضها في جزء "المركز" من الشاشة.

لذا ، فإن عرض الصورة في المركز في جميع الشاشة (دون تمديد أو قطع) بدقة غير 320*480 ، ما هي السمات التي يجب علي تعيينها؟

هل كانت مفيدة؟

المحلول

ببساطة اضبط scaleType سمة من ImageView الخاص بك. القيم الممكنة هنا: ImageView.ScaleType قد ترغب في استخدام CENTER.

بالإضافة إلى ذلك ، تواجه مشكلة أخرى: يجب عليك تقديم صورة HDPI بالإضافة إلى صورة MDPI الخاصة بك حتى لا يتم تحجيم صورة MDPI الخاصة بك تلقائيًا إلى HDPI بواسطة نظام Android ، وقراءة المزيد هنا: http://developer.android.com/guide/topics/resources/providing-resources.html

تحرير: أوه ، لقد نسيت تقريبًا: لا يمكن فقط المجلدات "Drawable-MDPI" و "Drawable-HDPI" فقط إذا قمت ببناء مشروعك مقابل Android 1.6 على الأقل. لذلك عليك تعيين الخاص بك minSdkVersion إلى 3 و targetSdkVersion إلى 4 ، ووضع صورك في المجلد "القابل للرسوم" العادي حتى يتمكن Android 1.5 من اللحاق بالركب. شاهد هذا الفيديو من Google I/O 2010 لمعرفة المزيد: إلقاء شبكة واسعة لجميع أجهزة Android.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top