Растровое изображение не заполняет ширину - PullRequest
0 голосов
/ 24 марта 2020

Мое растровое изображение отказывается заполнять родительскую ширину.

ImageView imgView = (ImageView) getLayoutInflater().inflate(R.layout.image_layout, null);
imgView.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
imgView.setScaleType(ImageView.ScaleType.FIT_XY);
imgView.setAdjustViewBounds(true);
imgView.setImageBitmap(fileBitmap);

Но когда я устанавливаю imgView.setImageResource(R.drawable.img); с тем же изображением в imgView.setImageBitmap(fileBitmap);, я получаю требуемый результат. А ниже мой image_layout

<?xml version="1.0" encoding="utf-8"?>
<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    android:clickable="true"/>

Я не знаю, что еще делать

1 Ответ

0 голосов
/ 24 марта 2020

Хорошо, я понял ... Я должен был изменить размер изображения, чтобы соответствовать ширине экрана

//after declaring my variables
displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
width = displayMetrics.widthPixels;

if(width > fileBitmap.getWidth()) {
    int newWidth = width;
    int newHeight = width * fileBitmap.getHeight() / fileBitmap.getWidth();
    fileBitmap = Bitmap.createScaledBitmap(fileBitmap, newWidth, newHeight, false);
}
...