代码改变世界

Android ImageView控件的MaxWidth、MaxHeight不起作用

2011-08-11 11:07  一片温柔  阅读(1284)  评论(0编辑  收藏  举报

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


LinearLayout ll = new LinearLayout(ConsumeInfo.this);  
ll.setOrientation(LinearLayout.HORIZONTAL);          
//设置小图标  
ImageView imageView = new ImageView(ConsumeInfo.this);              
Bitmap bitmap = BitmapFactory.decodeFile((String)mData.get(position).get("imgpath")); 
imageView.setImageBitmap(bitmap);  
imageView.setMaxHeight(50);
imageView.setMaxWidth(50);
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. 

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


LinearLayout ll = new LinearLayout(ConsumeInfo.this);  
ll.setOrientation(LinearLayout.HORIZONTAL);          
//设置小图标  
ImageView imageView = new ImageView(ConsumeInfo.this);              
Bitmap bitmap = BitmapFactory.decodeFile((String)mData.get(position).get("imgpath")); 
imageView.setImageBitmap(bitmap);  
imageView.setAdjustViewBounds(true);  
imageView.setMaxHeight(50);
imageView.setMaxWidth(50);
ll.addView(imageView);     

再次运行,竟然可以了!