Android: كيفية منع تحويل الصورة من تحويلها في ImageView أو ImageButton؟

StackOverflow https://stackoverflow.com/questions/2406172

سؤال

كيف يمكنني منع تحويل النقطات النقطية الخاصة بي تلقائيا في imageView أو imageButton إذا تم امتداد العرض أو الزر باستخدام "Fill_parent" أو استخدام "الوزن"؟

سيكون هذا مفيدا، على سبيل المثال، لإنشاء شريط أدوات 4 زر في الجزء العلوي من الشاشة حيث يتم تباعد الأزرار على قدم المساواة، ولكن الصور داخل الأزرار تبقى الحصول على striched حتى لو كنت أستخدم Scaletype = "Center"، والتي يجب أن تمنع التحجيم وفقا للوثيقة، ولكن لا.

أي رؤية هو موضع تقدير!

شكرا،

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

المحلول

لقد وجدت أنه عند استخدام Android: خلفية تلقائيا تقاعد الصورة التي تستخدمها هناك لحجم العرض.

حاولت استخدام Android: SRC لوضع الصورة في العرض. لم تقم الصورة، لكنني لم أستطع الحصول على الصورة للمركز بالنسبة لحجم العرض.

لذلك حاولت جعل الزر بأكمله هو التخطيط النسبي الخاص وهذا ما استخدمته:

<RelativeLayout android:id="@+id/RelativeLayout01" 
                android:layout_height="fill_parent" 
                android:layout_width="fill_parent">
                <ImageButton android:id="@+id/ImageButton01"    
                             android:layout_height="fill_parent"
                             android:layout_width="fill_parent"></ImageButton>
                <ImageView android:id="@+id/ImageView01"
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content" 
                           android:background="@drawable/cardback1" 
                           android:layout_centerInParent="true"></ImageView>
</RelativeLayout>

ImageButton في الخلفية وسوف تكون دائما نفس حجم التصميم. ومع ذلك، ستبقى ImageView دائما مركزية في Relativelayout ولن تقميز. بهذه الطريقة يمكن أن تنمو relativelayout نفسها ونقلها وستظل الصورة الموجودة على أعلى الزر دائما بنفس الحجم، لكن الزر سوف ينمو. ومع ذلك، ستقلص الصورة إذا أصبح التصميم أصغر من الصورة نفسها.

أعتقد أن هذا ما كنت تبحث عنه. قد تكون هناك طريقة أفضل للقيام بذلك، ولكن هذا كل ما يمكنني التوصل إليه الآن.

نصائح أخرى

ما عليك سوى تعديل الخاص بك قابل للفساحة، وتطبيق خلفية شفافة أكبر. قل لي جميلة في HDPI هو 41 * 48 px icon.png. قمت بإنشاء صورة جديدة 60 * 60 PX مع خلفية شفافة، نسخ لصق icon.png السابق وحفظها تحت نفس الاسم. بهذه الطريقة لا تحتاج إلى لمس تخطيطاتك.

ثم يمكنك التحقق من منطقة الزر أكبر إذا طلبت غير شفافة الروبوت: الخلفية:

<ImageButton android:id="@+id/widget_open"
android:src="@drawable/icon_widget_arrow_up"
android:background="#ff777777"
android:layout_height="wrap_content"
android:layout_width="wrap_content"></ImageButton>

تطبيق السابقة والجديدة جميلة الروبوت: SRC. ، يجب أن ترى بوضوح منطقة ImageButton.

بالمناسبة، أقوم بتشغيل التطبيق في وضع التوافق.

إذا تم تحجيم الصورة، فتأكد من عدم تشغيل تطبيقك في وضع التوافق (على سبيل المثال إذا استهدفت Android 1.5 / 1.6 دون دعم كثافات متعددة وتشغيل التطبيق على Android 2.0.)

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