转--如何使用代码动态的获取和设置ImageView的宽度和高度?
2015-03-12 11:32
176 查看
国内某金融企业的一道面试题:如何在代码中获得一个ImageVIew的高度和宽度?
相信很大一部分人,会直接想到用imageview.getWidth() 和 imageview.getHeight() 来获得,其实不然。
我们可以自己写个程序来跑一下,当我们放置一张图片在imageView中,并且设置了它的高度和宽度,我们不妨在日志控制台输出看一下,
Log.i("MainActivity", "宽度:"+String.valueOf(imageView.getWidth()));
Log.i("MainActivity", "高度:"+String.valueOf(imageView.getHeight()));
输出结果如下:
是不是很恼火呀,结果就是这样。
那么究竟该如何获取图片的高度和宽度呢? 其实,我们可以通过构建一个BItMap对象出来,这个BItMap就是从我们的那种图片资源转换而来,bitmap对象中的getWidth() 和getHeight()可以获得位图的大小,代码例子如下:
[html] view plaincopyprint?
span style="white-space:pre"> </span>
ImageView imageView = (ImageView)findViewById(R.id.imageView);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.newscar);
Log.i("MainActivity", "宽度:"+String.valueOf(bitmap.getWidth()));
Log.i("MainActivity", "高度:"+String.valueOf(bitmap.getHeight()));
这个时候我们再来看一下日志控制台的输出结果:
Ok,第一个问题我们搞定了(注意:这是原图片的大小,不是我们布局文件中设置的大小)。
接下来我们看一下如何动态设置图片的高度和宽度,这问题比较简单,我们直接使用LayoutParams的对象来进行设置
代码如下:
[html] view plaincopyprint?
ImageView imageView = (ImageView)findViewById(R.id.imageView);
imageView.setImageResource(R.drawable.newscar);
LayoutParams params = imageView.getLayoutParams();
params.height=200;
params.width =100;
imageView.setLayoutParams(params);
相信很大一部分人,会直接想到用imageview.getWidth() 和 imageview.getHeight() 来获得,其实不然。
我们可以自己写个程序来跑一下,当我们放置一张图片在imageView中,并且设置了它的高度和宽度,我们不妨在日志控制台输出看一下,
Log.i("MainActivity", "宽度:"+String.valueOf(imageView.getWidth()));
Log.i("MainActivity", "高度:"+String.valueOf(imageView.getHeight()));
输出结果如下:
是不是很恼火呀,结果就是这样。
那么究竟该如何获取图片的高度和宽度呢? 其实,我们可以通过构建一个BItMap对象出来,这个BItMap就是从我们的那种图片资源转换而来,bitmap对象中的getWidth() 和getHeight()可以获得位图的大小,代码例子如下:
[html] view plaincopyprint?
span style="white-space:pre"> </span>
ImageView imageView = (ImageView)findViewById(R.id.imageView);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.newscar);
Log.i("MainActivity", "宽度:"+String.valueOf(bitmap.getWidth()));
Log.i("MainActivity", "高度:"+String.valueOf(bitmap.getHeight()));
这个时候我们再来看一下日志控制台的输出结果:
Ok,第一个问题我们搞定了(注意:这是原图片的大小,不是我们布局文件中设置的大小)。
接下来我们看一下如何动态设置图片的高度和宽度,这问题比较简单,我们直接使用LayoutParams的对象来进行设置
代码如下:
[html] view plaincopyprint?
ImageView imageView = (ImageView)findViewById(R.id.imageView);
imageView.setImageResource(R.drawable.newscar);
LayoutParams params = imageView.getLayoutParams();
params.height=200;
params.width =100;
imageView.setLayoutParams(params);
相关文章推荐
- 如何使用代码动态的获取和设置ImageView的宽度和高度?
- 如何使用代码动态的获取和设置ImageView的宽度和高度?
- 如何使用代码动态的获取和设置ImageView的宽度和高度?
- 如何动态的获取和设置ImageView的宽度和高度?
- 如何动态的获取和设置ImageView的宽度和高度?
- Android UI之代码动态设置ImageView的宽度和高度
- 动态的获取和设置ImageView的宽度和高度
- 动态获取和设置ImageView的宽度和高度
- 获取屏幕的宽度以及动态设置ImageView的宽度、高度
- Android中如何在代码中动态设置控件的高度以及宽度
- android关于代码中动态设置view的高度宽度的问题
- 动态设置ImageView的宽度和高度
- c++builder上使用TIDTCPServer和TIDTCPClient进行简单通信,如何通过代码动态设置TIDTCPServer的Bindings属性。
- 如何在activity的onCreate方法中获取某个view的高度或宽度
- 如何获取view的宽度和高度
- IOS动态获取文本的高度--自适应文本宽度、高度Textview
- 在安卓开发中如何在代码中设置ImageView中src中这个参数
- android如何动态设置控件的高度和宽度
- iOS中如何动态获取label的宽度和高度
- 如何使用代码动态设置水晶报表中的文本,字段等对象呢?