Intereting Posts
Есть ли способ реализовать полнотекстовый поиск (FTS) в SQlite с платформы Android? Каков хороший способ хранения объекта Location? RemoteControlClient – нужен ли аудиофонический фокус? Не удалось найти: com.android.support:support-v4:22.2.0 Как использовать кнопки диалога диалогового окна стиля головоломки Android Передвиньте sherlock панели действий с помощью меню навигации ящика OkHttpClient «открытый» метод отсутствует в версии 2.0 Как управлять настраиваемыми адаптерами onPause, onResume of Activity на Android Android «Elevation» не показывает тень под CustomView Google Analytics не показывает активного пользователя в режиме реального времени Gradle assembleDebug и preDexDebug не срабатывают даже для нового проекта Есть ли способ скомпилировать libuv с Android NDK? Как удалить пользователя Firebase из приложения Android? Android-виджет с Clickable, который не доступен для просмотра в ListItems PagerSlidingTabStrip – добавить новую вкладку во время выполнения

Растянуть изображение в ImageView

У меня есть ImageView, который имеет высоту и ширину, установленную в «fill_parent» с помощью Relative Layout, которая имеет те же самые значения. Set Set scaleType = "fitXY"

Здесь XML-макет:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="fitXY" android:src="@drawable/background_image" /> </RelativeLayout> 

Подходит для ширины и высоты, но изображение растянуто.

Это то, что должен делать fitXY . Вы можете попробовать с помощью CenterInside, если вы не хотите обрезать изображение или centerCrop, если хотите заполнить все пространство (и обрезать изображение).

Вот хороший список с примерами, чтобы лучше понять масштабные типы:

http://etcodehome.blogspot.it/2011/05/android-imageview-scaletype-samples.html

Эти два свойства решили проблему для меня:

 android:scaleType="fitXY" android:adjustViewBounds="true" 
 package utils; import android.content.Context; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.widget.ImageView; /** * Created by Navneet Boghani on 7/7/16. */ public class ProportionalImageView extends ImageView { public ProportionalImageView(Context context) { super(context); } public ProportionalImageView(Context context, AttributeSet attrs) { super(context, attrs); } public ProportionalImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { Drawable d = getDrawable(); if (d != null) { // int w = MeasureSpec.getSize(widthMeasureSpec); // int h = w * d.getIntrinsicHeight() / d.getIntrinsicWidth(); int h = MeasureSpec.getSize(heightMeasureSpec); int w = h * d.getIntrinsicWidth() / d.getIntrinsicHeight(); setMeasuredDimension(w, h); } else super.onMeasure(widthMeasureSpec, heightMeasureSpec); } }