注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

罔少年

QQ 332256483

 
 
 

日志

 
 

android ListView图片大小问题  

2013-12-11 10:22:35|  分类: android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
ListView中item的xml布局文件中
方法1:在布局文件中写死ImageView大小,然后设置图片全屏拉伸android:scaleType="fitXY"

<ImageView
android:id="@+id/img"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_margin="5px"
android:scaleType="fitXY"
/>

可以全屏拉伸显示图片
方法2:在.java文件中,动态给图片设置大小。如果屏幕宽的2/5

private Bitmap big1(int drawable) {
Resources res = getResources();
Bitmap bmp = BitmapFactory.decodeResource(res, drawable);
BitmapDrawable bd= new BitmapDrawable(res, bmp);
double width = bd.getIntrinsicWidth();
double height = bd.getIntrinsicHeight();

int width1 = bd.getIntrinsicWidth();
int height1 = bd.getIntrinsicHeight();

double sjw= tarHeigth*2/5;
double sjh= tarHeigth*2*2/(5*3);
Matrix matrix = new Matrix();
float sx = (float) ((float)sjw/width);
float sy = (float) ((float)sjh/height);
matrix.postScale(sx,sy); //长和宽放大缩小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bmp,0,0,width1,height1,matrix,true);
return resizeBmp;
}

 holder.img.setImageBitmap(big1((Integer)dataList.get(position).get("img")));

private void getWinMetrics(){
//获取屏幕分辨率
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
tarWidth = dm.heightPixels;
tarHeigth = dm.widthPixels;
}


总结:方法2,会耗内存,ListView滑动会很卡,但是可以动态设定ImageView的大小
            方法1,不卡,但无法动态设定ImageView大小
  评论这张
 
阅读(1720)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018