Как сделать так, чтобы миниатюра помещалась внутри изображения?

#android #xml #imageview

#Android #xml #imageview

Вопрос:

Я получаю миниатюры из видео, которое я только что записал, и мне нужно, чтобы миниатюра помещалась в imageview. Я использую это для вызова миниатюры :

 Bitmap curThumb = ThumbnailUtils.createVideoThumbnail(file.getAbsolutePath(), MediaStore.Video.Thumbnails.MINI_KIND);
 

И я использую это для вызова imageview:

 image.setImageBitmap(curThumb);
 

Мой xml для моего imageview выглядит так:

 <ImageView android:id="@ id/iView" android:paddingRight="10px" android:layout_height="280dp" android:layout_width="320dp" android:layout_gravity="center_horizontal" android:paddingTop="5dp" android:paddingBottom="5dp" android:background="@drawable/border"></ImageView>
 

Граница, которую я использую для своего фона изображения, представляет собой xml, который придает виду красивую белую рамку, это следующий xml для него:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" shape="oval">

    <stroke android:width="3dp" android:color="#ffffff" />
    <padding android:left="0px" android:top="1dp" android:right="0px"
        android:bottom="1dp" />
    </shape>
 

Я не знаю, потому ли это, что я использую миниатюру MINI_KIND, но мне нужно немного сократить ее, чтобы она могла идеально вписаться в imageview. Любой помощи будет достаточно. Заранее спасибо.

Ответ №1:

Попробуйте добавить android:scaleType="fitCenter" к атрибутам ImageView.

Это центрирует изображение и гарантирует, что (при условии, что оно больше, чем область ImageView) изображение покрывает всю область и что изображение полностью видно по крайней мере по одной оси.

Ответ №2:

Установите для вашего scaletype значение centercrop http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType