0

我正在调整 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


        }
    });
4

1 回答 1

0

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

于 2013-01-31T15:38:58.100 回答