如何动态的获取和设置ImageView的宽度和高度

2025-03-11 07:40:13
推荐回答(2个)
回答1:

相信很大一部分人,会直接想到用imageview.getWidth() 和 imageview.getHeight() 来获得,其实不然。
我们可以自己写个程序来跑一下,当我们放置一张图片在imageView中,并且设置了它的高度和宽度,我们不妨在日志控制台输出看一下,
Log.i("MainActivity", "宽度:"+String.valueOf(imageView.getWidth()));
Log.i("MainActivity", "高度:"+String.valueOf(imageView.getHeight()));
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;

public class PicTest extends Activity {
private final String TAG = "Pictrue Test!!!";
private ImageView image;
private int height = 0;
private int width = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

image = (ImageView)findViewById(R.id.ImageView01);
//height = image.getHeight();
//width = image.getWidth();
//Log.d(TAG, "height: " + height);
//Log.d(TAG, "width: " + width);

LayoutParams para;
para = image.getLayoutParams();

Log.d(TAG, "layout height0: " + para.height);
Log.d(TAG, "layout width0: " + para.width);

para.height = 300;
para.width = 300;
image.setLayoutParams(para);

Log.d(TAG, "layout height: " + para.height);
Log.d(TAG, "layout width: " + para.width);

}
}

回答2:

动态的获取和设置ImageView的宽度和高度,参考实例如下:
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;

public class PicTest extends Activity {
private final String TAG = "Pictrue Test!!!";
private ImageView image;
private int height = 0;
private int width = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

image = (ImageView)findViewById(R.id.ImageView01);
//height = image.getHeight();
//width = image.getWidth();
//Log.d(TAG, "height: " + height);
//Log.d(TAG, "width: " + width);

LayoutParams para;
para = image.getLayoutParams();

Log.d(TAG, "layout height0: " + para.height);
Log.d(TAG, "layout width0: " + para.width);

para.height = 300;
para.width = 300;
image.setLayoutParams(para);

Log.d(TAG, "layout height: " + para.height);
Log.d(TAG, "layout width: " + para.width);

}
}