首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImageView CENTER_CROP不工作

ImageView CENTER_CROP不工作
EN

Stack Overflow用户
提问于 2014-01-17 11:20:53
回答 1查看 295关注 0票数 0

欢迎大家。

我有一个LinearLayout必须显示一个ImageView。imageView必须适合LinearLayout的所有宽度,所以我使用match_parent作为宽度,它必须保持高宽比,所以我使用wrap_content来表示高度和setAdjustViewBounds为真。但是有些东西不能工作,因为ImageView的宽度是正确的(它符合线性布局的宽度),但是imageView的高度是错误的(图像在上、下两部分被裁剪)。

I尝试了所有的规模类型 (fit_center,fit_xy,center_crop,center_inside等)我在所有这些方面都有问题(例如,如果我使用fit_center,图像不符合ImageView的全部宽度,我可以看到图像左右两个黑色空间,我也尝试使用没有setAdjustViewBounds的FIT_CENTER,我也有同样的问题)

这里有一个快照:http://i.stack.imgur.com/8hrKF.png

这是我的密码:

代码语言:javascript
复制
LinearLayout onlineHolder = this.holders.get(i);
onlineHolder.setLayoutParams(
    new LinearLayout.LayoutParams(
        LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
onlineHolder.removeAllViews();
ImageView imgv = new ImageView(onlineHolder.getContext());
imgv.setLayoutParams(
    new LinearLayout.LayoutParams(
        LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
imgv.setAdjustViewBounds(true);
imgv.setScaleType(ImageView.ScaleType.CENTER_CROP);
Bitmap b=res.getCachedBitmapWithWidth(this.width); //obtenemos el recurso cacheado con el width correspondiente
imageElement.setBitmap(b);
imgv.setImageBitmap(b);
onlineHolder.addView(imgv);

谢谢

编辑:只有当我用绝对数字指定图像视图的宽度和高度时,它才能工作。例如,如果我放置400 (400是屏幕的50%,布局宽度)宽度和583高度,它可以工作,但如果我把MATCH_PARENT作为宽度和包装内容的高度.这不管用..。为什么?

EN

回答 1

Stack Overflow用户

发布于 2014-01-17 13:02:43

我在XML中有一个,它以您想要的方式工作。瞧一瞧。

代码语言:javascript
复制
<ImageView 
    android:id="@+id/attachedImage"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:scaleType="centerCrop"
    android:adjustViewBounds="true" />

但是,如果您想在运行时执行此操作,我建议以这种方式创建XML,并在runtime上膨胀视图并将其添加到父布局中。这肯定会奏效的。

编辑:如何充气ImageView。

代码语言:javascript
复制
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.your_layout_contains_image_view, null, false);
ImageView imageView = view.findViewById(R.id.attachedImage);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21184686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档