@TimkaTV

Как подправить масштаб картинки?

Добрый день,
Имеется Drawer Layout с List, каждый элемент которого имеет разметку
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:backgroundTint="#000000">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:src="@drawable/lectures"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

</RelativeLayout>

Картинка квадратная, а в процессе работы вытягивается (ужимается по вертикальной оси)
Как с этим бороться? Спасибо!
  • Вопрос задан
  • 272 просмотра
Пригласить эксперта
Ответы на вопрос 1
gadfi
@gadfi
https://gamega.org
у вас размеры картинки wrap_content и не указано android:scaleType
developer.alexanderklimov.ru/android/views/imagevi...

update:

уверен что то делали не то, но иногда когда требуется квадратная картинка заранее не известного размера (например в списке) использую такой класс

public class SquaredImageView extends ImageView {
    public SquaredImageView(Context context) {
        super(context);
    }

    public SquaredImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth());
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы