android图片根据屏幕适配

有时候 图片不能充满屏幕


方法一:可以根据图片和屏幕的比例放大或者缩小

 /* 取得屏幕分辨率大小 */
    DisplayMetrics dm=new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    displayWidth=dm.widthPixels;
    /* 屏幕高度须扣除下方Button高度 */
    displayHeight=dm.heightPixels-80;
    /* 初始化相关变量 */
    bmp=BitmapFactory.decodeResource(getResources(),R.drawable.ex04_23);
    int bmpWidth=bmp.getWidth();
    int bmpHeight=bmp.getHeight();
    /* 设定图片缩小的比例 */
    double scale=0.8;  
    /* 计算出这次要缩小的比例 */
    scaleWidth=(float) (scaleWidth*scale);
    scaleHeight=(float) (scaleHeight*scale);
    
    /* 生成reSize后的Bitmap对象 */
    Matrix matrix = new Matrix();  
    matrix.postScale(scaleWidth, scaleHeight); 
    Bitmap resizeBmp = Bitmap.createBitmap(bmp,0,0,bmpWidth,bmpHeight,matrix,true); 
方法二 :根据方法一的做法,可以放大 有时候因为图片比例问题 不能充满屏幕 ,其实我们可以使用api的方法

ImageView v1 = new ImageView(this);
                v1.setImageBitmap(ImageUtils.readBitMap(this, R.drawable.loding));
                v1.setScaleType(ScaleType.CENTER_CROP);

----------------------------------------------------

setScaleType()里面提供很多种拉伸方式, ScaleType.CENTER_CROP为不变形拉伸,ScaleType.FIT_XY这种也可以保证充满 但是图片会变形 ,很多种方式 自己试试就知道

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值