ImageView图像未使用ImageView调整大小

约翰

我有一个ImageViews单元格的TableLayout 我想做的是通过增加ImageView表格中s的大小来创建缩放效果这对于缩小效果非常好(图片使用调整大小ImageView),但是,问题在于放大。将放大时图片不会调整大小ImageView

这是一个例子: 在此处输入图片说明

我希望图像的大小与ImageView的大小相同(每个黑色正方形是一个ImageView)

这是我用于缩放的代码(有关更好实现的任何提示将不胜感激,不希望使用捏缩放)。

zoomIndex ranges from -2, 2. (only allow them to zoom twice in each direction)
zoomInThreshold = 2, zoomOutThreshold = -2. 
defaultSize = 50, zoomIncrement = 15;


                if(zoomIndex < zoomInThreshold)
                    defaultSize += zoomIncrement;


                for(int i = 0; i < table.getChildCount(); ++i)
                {
                    TableRow row = (TableRow)table.getChildAt(i);
                    for(int r = 0; r < row.getChildCount(); ++r)
                    {
                        ImageView img = (ImageView)row.getChildAt(r);

                        if(zoomIndex  < zoomInThreshold)
                        {
                            TableRow.LayoutParams imgLayoutParams = new TableRow.LayoutParams(
                                    defaultSize,
                                    defaultSize
                            );
                            img.setLayoutParams(imgLayoutParams);

                            if(img.getDrawable() != null)
                            {
                                img.setAdjustViewBounds(true);
                                img.setMaxHeight(defaultSize);
                                img.setMaxWidth(defaultSize);
                                img.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
                            }
                        }
                    }
                }
                if(zoomIndex < zoomInThreshold)
                    zoomIndex++;
约翰

找出问题,仅当我从xml文件加载图形时才会发生此问题。我要做的就是在加载工程图时添加此行

img.setAdjustViewBounds(true);

这是它适合的方式:

                if(drawableID != -1)
                {
                    Bitmap pic = BitmapFactory.decodeResource(getResources(), drawableID);
                    Bitmap resizedBitmap = Bitmap.createScaledBitmap(pic, 50, 50, true);
                    im.setImageBitmap(resizedBitmap);

                    ic.setImage(im);

                    im.setTag(ic);

                    im.setAdjustViewBounds(true);

                    //rotate the icon
                    im.setScaleType(ImageView.ScaleType.MATRIX);
                    Matrix matrix = new Matrix();
                    matrix.set(im.getImageMatrix());
                    matrix.postRotate(rotAngle, pic.getWidth() / 2, pic.getHeight() / 2);
                    im.setImageMatrix(matrix);

                    im.setOnLongClickListener(longListen);//only set this listener if there is something there
                }

我只img.setAdjustViewBounds(true);按了我的缩放按钮。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用折叠模式在 ImageView 中调整滑动图像的大小

在ImageView Android中使用Glide调整图像大小

ImageView Android图像资源调整大小

在 ImageView 中显示之前调整图像大小

调整大小后将imageView调整为图像大小

调整AnchorPane大小的ImageView

ImageView根据Android中的图像大小动态调整大小

如何在javafx中调整imageview图像的大小?

我可以仅调整imageView的图像大小吗?

ImageView图像大小

即使ScaleType调整ImageView的大小

以编程方式调整ImageView的大小

无法使用布局权重调整ImageView的大小

Android ListView toRightOf ImageView具有不同的大小,而无需调整图像大小

Android-ImageView是否会调整图像大小(并且不保存原始图像)?

图像未显示在 imageView 中

图像未显示在 ImageView 上

使用cell.imageView.image的图像大小不同。迅速

调整窗口大小以适应ImageView(JavaFX)

ImageView-根据Android屏幕调整大小

如何以编程方式调整ImageView的大小?

调整大小和分配位图后调整 ImageView 的大小

Android:如何在不调整图像大小的情况下以编程方式更改 ImageView 的宽度?

Android-加载到ImageView之前调整图像大小,以避免OOM问题

在加载到 Imageview 之前实现 Glide/Fresco/Picasso 调整图像大小以避免 OOM 问题

如何在加载到ImageView之前调整图像大小以避免OOM问题

图像映射未调整大小

缩放下载图像的大小以适合imageview

setTextSize对应于ImageView的图像大小