Android ImageView将位图缩放到宽度并裁剪高度

Android ImageView将位图缩放到宽度并裁剪高度,android,bitmap,imageview,Android,Bitmap,Imageview,我有一个固定大小的ImageView。我想做到这一点: 如果位图的宽度大于或小于图像视图的宽度,则始终将位图缩放至宽度 如果高度高于ImageViewheight,则裁剪高度,否则将其缩放至该高度 我想要这样的东西,但正好相反(FitXCropY)。我试图改变这个答案,但没有成功 谢谢。像这样试试 添加内部Oncreate viewImage = (ImageView) findViewById(R.id.pictureImageview123); viewImage.setScaleType(

我有一个固定大小的
ImageView
。我想做到这一点:

  • 如果
    位图
    的宽度大于或小于
    图像视图
    的宽度,则始终将
    位图
    缩放至宽度
  • 如果高度高于
    ImageView
    height,则裁剪高度,否则将其缩放至该高度
  • 我想要这样的东西,但正好相反(FitXCropY)。我试图改变这个答案,但没有成功

    谢谢。

    像这样试试

    添加内部Oncreate

    viewImage = (ImageView) findViewById(R.id.pictureImageview123);
    viewImage.setScaleType(ScaleType.FIT_XY);
    
    试着这样,

    添加内部Oncreate

    viewImage = (ImageView) findViewById(R.id.pictureImageview123);
    viewImage.setScaleType(ScaleType.FIT_XY);
    
    基于这个答案

    基于这个答案


    谢谢,但我认为如果位图高度高于ImageView高度,FIT_XY将缩小位图高度,但我希望对其进行裁剪。谢谢,但我认为如果位图高度高于ImageView高度,FIT_XY将缩小位图高度,但我希望对其进行裁剪。不起作用。较小的图像被裁剪和缩放以适应屏幕。我希望仅当高度大于imageview高度时才裁剪图像。所有其他情况下,应放大或缩小图像。如果图像高度小于imageview的高度,则可以使用Matrix.ScaleToFit.FILL;如果图像高度大于imageview的高度,则可以使用Matrix.ScaleToFit.CENTER。对于我裁剪较大图像的使用情况,是否有效?是否无效。较小的图像被裁剪和缩放以适应屏幕。我希望仅当高度大于imageview高度时才裁剪图像。所有其他情况下,应放大或缩小图像。如果图像高度小于imageview的高度,则可以使用Matrix.ScaleToFit.FILL;如果图像高度大于imageview的高度,则可以使用Matrix.ScaleToFit.CENTER。正在为我裁剪更大图像的使用案例工作