放大和缩小ImageView会留下空白区域和裁剪图像

时间:2013-01-31 15:34:41

标签: android android-imageview

我正在调整ImageView中的图像大小,但在调整大小后ImageView大小保持不变,所以如果我缩小我看到黑色区域,如果我放大图像被裁剪。如何自动调整ImageView的大小来包装我的图像?问题是图像仍然是相同的大小。我的图像位于自定义滚动视图中,可以滚动X和Y方向。请不要让我参考ImageView缩放示例,因为我看过它们。

ImageView map = (ImageView) findViewById(R.id.imageViewMap);
Bitmap mapIm = BitmapFactory.decodeResource(getResources(),R.drawable.myMap);
map.setImageBitmap(mapIm); 
final Matrix zoommatrix = new Matrix();

    zoomOut.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

             float[] centerpoint = {map.getWidth()/2.0f, map.getHeight()/2.0f};

             zoommatrix.postScale(0.9f, 0.9f, centerpoint[0], centerpoint[1]);
             map.setImageMatrix(zoommatrix);

        }
    });

    zoomIn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

             float[] centerpoint = {map.getWidth()/2.0f, map.getHeight()/2.0f};

             zoommatrix.postScale(1.1f, 1.1f, centerpoint[0], centerpoint[1]);
             map.setImageMatrix(zoommatrix);


             Log.d(TAG, "Width: "+map.getWidth()+" Height: "+map.getHeight()); //always the same
             Log.d(TAG, "Width: "+mapIm.getWidth()+" Height: "+mapIm.getHeight()); //always the same


        }
    });

1 个答案:

答案 0 :(得分:0)

在图像处理后尝试v.invalidate()