gpt4 book ai didi

android - 拉伸(stretch)图像以适应

转载 作者:IT老高 更新时间:2023-10-28 23:18:28 25 4
gpt4 key购买 nike

src 应该将其宽度拉伸(stretch)到 match_parent,同时保持纵横比。当图像大于父图像时,它会正确缩小。但是当图像较小时,它不会按比例放大。 (插图显示了所需的行为)。

enter image description here

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ImageView
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:src="@drawable/foo"
/>

</RelativeLayout>


使用 ScaleType.fitXY 仅拉伸(stretch) width

最佳答案

我认为这是不可能的,至少对于 scaleType 属性提供的选项来说是不可能的。
在这种情况下,您最好的选择是使用 centerCrop,但只有图片的中心可见。

但是,如果您对此选项不满意,那么您可以通过编程方式缩放图像而不会丢失纵横比。为了实现这一点,您需要根据屏幕宽度计算比例因子,然后使用该比例因子来了解图像的新高度。

像这样:

ImageView imageView = (ImageView)findViewById(R.id.imageView);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.foo);

int imageWidth = bitmap.getWidth();
int imageHeight = bitmap.getHeight();

int newWidth = getScreenWidth(); //this method should return the width of device screen.
float scaleFactor = (float)newWidth/(float)imageWidth;
int newHeight = (int)(imageHeight * scaleFactor);

bitmap = Bitmap.createScaledBitmap(bitmap, newWidth, newHeight, true);
imageView.setImageBitmap(bitmap);

另外,您需要调整布局文件中 ImageView 的声明:

<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

关于android - 拉伸(stretch)图像以适应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18342463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com