(转载)Android ImageView控件的MaxWidth、MaxHeight不起作用

在使用imageview控件时,由于图片大小不一致,需要给图片设置个最大宽高。设置后的代码如下:

1 LinearLayout ll = new LinearLayout(ConsumeInfo.this);  
2 ll.setOrientation(LinearLayout.HORIZONTAL);                      
3 //设置小图标  
4 ImageView imageView = new ImageView(ConsumeInfo.this);              
5 Bitmap bitmap = BitmapFactory.decodeFile((String)mData.get(position).get("imgpath")); 
6 imageView.setImageBitmap(bitmap);  
7 imageView.setMaxHeight(50);
8 imageView.setMaxWidth(50);
9 ll.addView(imageView);  

运行之后,Imageview  仍然被撑开,难道是MaxWidth,MaxHeight不起作用,抓紧翻阅api文档,找到下面的解释:

                       An optional argument to supply a maximum width for this view. Only valid if setAdjustViewBounds(boolean) has been set to true. 

文档中说得很清楚,抓紧修改如下:

 1 LinearLayout ll = new LinearLayout(ConsumeInfo.this);  
 2 ll.setOrientation(LinearLayout.HORIZONTAL);                      
 3 //设置小图标  
 4 ImageView imageView = new ImageView(ConsumeInfo.this);              
 5 Bitmap bitmap = BitmapFactory.decodeFile((String)mData.get(position).get("imgpath")); 
 6 imageView.setImageBitmap(bitmap);  
 7 imageView.setAdjustViewBounds(true);  
 8 imageView.setMaxHeight(50);
 9 imageView.setMaxWidth(50);
10 ll.addView(imageView);     
11  

再次运行,竟然可以了!

 

原文地址:http://geyubin.iteye.com/blog/1145841

posted @ 2013-12-30 14:02  蓝色漩涡  阅读(494)  评论(0)    收藏  举报