2 exit door eXit_door 于 2013.02.21 15:00 提问

如何设置imageView的高和宽

我想在activity中改变图片视图的宽高属性,但是我用了下面的方法后没有实现:

View card_view = getLayoutInflater().inflate(R.layout.card_details1,null);
coupon_img = (ImageView) card_view.findViewById(R.id.coupon_image);
// I tried this ////////
coupon_img.getLayoutParams().height = 20;
coupon_img.getLayoutParams().width = 20;
// I also tried this ////
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
    coupon_img.setLayoutParams(layoutParams);
// also this one ////
coupon_img.setMaxHeight(10);

不知道为什么?应该怎么改才对呢?谢谢。

4个回答

eXit_door
eXit_door   2013.02.21 15:45
已采纳

在这段代码中,创建了一个新的实例并且设置了尺寸:

// SET THE IMAGEVIEW DIMENSIONS
int dimens = 120;
float density = activity.getResources().getDisplayMetrics().density;
int finalDimens = (int)(dimens * density);

LinearLayout.LayoutParams imgvwDimens = 
        new LinearLayout.LayoutParams(finalDimens, finalDimens);
imgAlbumPhoto.setLayoutParams(imgvwDimens);

// SET SCALETYPE
imgAlbumPhoto.setScaleType(ScaleType.CENTER_CROP);

// SET THE MARGIN
int dimensMargin = 5;
float densityMargin = activity.getResources().getDisplayMetrics().density;
int finalDimensMargin = (int)(dimensMargin * densityMargin);

LinearLayout.LayoutParams imgvwMargin = 
        new LinearLayout.LayoutParams(finalDimens, finalDimens);
imgvwMargin.setMargins
(finalDimensMargin, finalDimensMargin, finalDimensMargin, finalDim

ensMargin);

改变已存在的ImageView尺寸,使用这个:

coupon_img.setLayoutParams(new LayoutParams(100, 100));
MENGPUXIONG
MENGPUXIONG   2015.09.05 13:17

阿斯蒂芬


MENGPUXIONG
MENGPUXIONG   2015.09.05 13:16
 斯蒂芬斯蒂芬跌幅的
fsm395943166
fsm395943166   2014.06.04 16:52

我看到个帖子说imageview不能动态修改宽高,可以生成你需要的imageview后将原来的移除,再重新添加

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
如何让ImageView高度和宽度保持一致?
问题描述 不设置具体数字的高宽,如何让宽高值保持一致? <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/image"/> 也就是说: 竖屏下,height=w
动态获取和设置ImageView的宽度和高度
内某金融企业的一道面试题:如何在代码中获得一个ImageVIew的高度和宽度? 相信很大一部分人,会直接想到用imageview.getWidth() 和 imageview.getHeight() 来获得,其实不然。 我们可以自己写个程序来跑一下,当我们放置一张图片在imageView中,并且设置了它的高度和宽度,我们不妨在日志控制台输出看一下, Log.i("MainActi
如何设置imageView的高和宽?
原问题来自于CSDN问答频道,更多解决方案见:http://ask.csdn.net/questions/1452   原问题描述:我想在activity中改变图片视图的宽高属性,但是我用了一个方法后没有实现,应该要怎么实现呢?   解决方案: 在这段代码中,创建了一个新的实例并且设置了尺寸: // SET THE IMAGEVIEW DIMENSIONS int dimens =
如何动态的获取和设置ImageView的宽度和高度?
package com.pic; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.ViewGroup.LayoutParams; import android.widget.ImageView; public class Pic
代码中修改ImageView的高度和宽度
image_view.getLayoutParams().height = 20; 必要时调用 image_view.requestLayout() http://stackoverflow.com/questions/3144940/set-imageview-width-and-height-programmatically
给ImageView在代码中设置宽高
ImageView imageView = (ImageView)findViewById(R.id.imageView); imageView.setBackgroundResource(R.drawable.newscar); LayoutParams params = imageView.getLayoutParams(); params.height=20
Android中动态调整ImageView的宽高比
ListView中的Item里的ImageView元素的宽高比,item有固定padding,然后ImageView宽度撑满屏幕,高度由一定比例决定。
设置ImageView最大高度和最大宽度无效
在项目中需要设置Imageview的最大宽高,以保证图片不会占用过大空间.但是设置android:maxWidth=”353dp” android:maxHeight=”350dp” 并不能解决问题,后来通过 android:adjustViewBounds=”true” 属性解决了问题.以下是源码中对此方法的注解: /** Set this to true if you want th
如何在storyBoard中实现UIimageView长宽相等
前几天在做项目的时候,需要用到一个UIViewController中的UIimageView是个正方形,并且宽度=屏幕宽度,由于是用StoryBoard画的UI,所以只知道UIimageView的高度设定,查阅了相关资料之后终于找到了解决办法,在此记录一下。    在storyBoard的Pin中,有一个属性叫做Aspect Ratio,意思就是保持当前的长宽比例,所以在对UIimageView
imageview获取宽高
在开发中,可以通过getDrawable().getBounds().height()与getDrawable().getIntrinsicHeight()两种方法来获得图片资源的真实宽高    ImageView在不同的分辨率的屏幕中获取的宽高值是不准确的,需要根据density缩放  // 通过getBounds() 获得ImageView中Image的真实宽高,