2010-07-16 4 views
5

Я хочу, чтобы diplay изображение так, чтобы оно занимало минимальную ширину экрана и должно масштабироваться в его соотношении сторон (ширина изображения может быть меньше или больше, чем минимальная ширина). Я также хочу иметь фиксированную границу размера вокруг это изображение. Это мой XML раздел для этого:.Android, как сделать ImageView с minWidth, имеет границу?

<ImageView 
     android:id="@+id/detailed_view_boxArt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:minWidth="150dp" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@id/detailed_view_heading" 
     android:padding="10dp" 
     android:layout_marginLeft="5dp" 
     android:scaleType="centerInside" 

     android:background="#000"/> 

Это, однако, не дает то, что я хочу ... проблема в том, что это не масштаб изображения по горизонтали достаточно далеко (т.е. 10px обивка, что у меня есть кажется много больше справа и слева)

Как я могу получить результат, который я хочу?

ответ

4

установить минимальную ширину и heidht использовать атрибуты android:minHeight="100dip" и android:minWidth="200dip".

установить контрольно-пропускной пункт my post.

+0

Спасибо за информацию ... Однако, как я уже создал границу работает только как хорошо, как ваш метод. Проблема в том, что я хочу ТОЛЬКО установить minWidth и растянуть изображение как по горизонтали, так и по вертикали ... – Kman

+0

@Kman: Не получается получить вас правильно. Я предполагаю, что вы должны установить значение для вашего 'android: layout_width =" 100dip "' not 'wrap_content'. – Praveen

+0

no no my xml точно так же, как и код, который у меня есть в вопросе ... Хорошо, в основном я хочу сделать изображение более крупным и меньшим, сохраняя его соотношение сторон, чтобы оно заканчивалось минимальной шириной 150dp. Так, например, скажем, у меня есть изображение шириной 50dp шириной 100dp, я хочу, чтобы он показывал изображение как 150dp шириной 300dp. Это яснее? Спасибо – Kman

3

Попробуйте это (я подчеркнул важную роль):

<ImageView 
    android:id="@+id/detailed_view_boxArt" 
    *android:layout_width="match_parent"* 
    *android:layout_height="wrap_content"* 
    *android:adjustViewBounds="true"* 
    *android:scaleType="centerCrop"*     
    android:layout_alignParentLeft="true" 
    android:layout_below="@id/detailed_view_heading" 
    android:padding="10dp" 
    android:layout_marginLeft="5dp" 
    android:background="#000"/> 
+0

Также имейте в виду ** scaleType centerInside **, если вы не хотите, чтобы изображения были * переполнены *; см. http://developer.android.com/reference/android/widget/ImageView.ScaleType.html – m02ph3u5

Смежные вопросы