美文网首页
自定义imageview 实现按照图片比例加载图片

自定义imageview 实现按照图片比例加载图片

作者: 杨伟乔 | 来源:发表于2017-12-28 14:12 被阅读0次

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.drawable.Drawable;

import android.util.AttributeSet;

import android.widget.ImageView;

public classSubjectImageViewextendsImageView{

publicSubjectImageView(Contextcontext,AttributeSetattrs) {

super(context,attrs);

//TODOAuto-generated constructor stub

    }

@Override

protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec) {

//获取真实的图片

Drawabledrawable=getDrawable();

if(drawable!=null){

//获取真实的宽

intwidth=drawable.getMinimumWidth();

//获取真实的高 

intheight=drawable.getMinimumHeight();

//计算宽和高的比例 

floatscale= (float)width/height;

//获取测量宽的规则

intwithsize=MeasureSpec.getSize(widthMeasureSpec);

//按照比例计算高的测量规则 

intheightsize= (int) (withsize/scale);

//设置高的测量规则 第一个值是按照比例计算的高 第二个参数是测量模式 精确

heightMeasureSpec=MeasureSpec.makeMeasureSpec(heightsize,MeasureSpec.EXACTLY);

        }

super.onMeasure(widthMeasureSpec,heightMeasureSpec);

    }

相关文章

网友评论

      本文标题:自定义imageview 实现按照图片比例加载图片

      本文链接:https://www.haomeiwen.com/subject/hixvgxtx.html