在android中动态调整PNG大小

时间:2018-04-02 22:30:41

标签: java android

所以我有一个图像视图

<ImageView
    android:id="@+id/bookImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    app:srcCompat="@android:drawable/gallery_thumb"
    tools:layout_editor_absoluteX="70dp"
    tools:layout_editor_absoluteY="329dp" />

我需要显示此图片:

enter image description here

哪个是PNG,但是图像比我的图像视图大,所以图像视图会拉伸。

如何强制图像保留在imageView内部以便它不会伸展?

这是我目前加载图片的方式:

ImageView bookImage = findViewById(R.id.bookImage);
bookImage.setImageResource(R.drawable.bookcovernot);

2 个答案:

答案 0 :(得分:0)

您可以使用以下内容定义图像比例类型:

bookImage.setScaleType(ScaleType.CENTER_CROP);
bookImage.setScaleType(ScaleType.CENTER_INSIDE);

或在您的布局中

<ImageView
    android:id="@+id/bookImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:scaleType="centerInside"
    app:srcCompat="@android:drawable/gallery_thumb"
    tools:layout_editor_absoluteX="70dp"
    tools:layout_editor_absoluteY="329dp" />

查看ScaleType doc以获取更多信息。

答案 1 :(得分:0)

你甚至可以在你的布局xml

中试试这个
     <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="centerCrop"
            .../>