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;
//獲取測量寬的規(guī)則
intwithsize=MeasureSpec.getSize(widthMeasureSpec);
//按照比例計算高的測量規(guī)則?
intheightsize=?(int)?(withsize/scale);
//設置高的測量規(guī)則?第一個值是按照比例計算的高?第二個參數(shù)是測量模式?精確
heightMeasureSpec=MeasureSpec.makeMeasureSpec(heightsize,MeasureSpec.EXACTLY);
????????}
super.onMeasure(widthMeasureSpec,heightMeasureSpec);
????}
自定義imageview 實現(xiàn)按照圖片比例加載圖片
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內(nèi)容
- 當Android原生控件無法滿足需求時就要自定義View,只有掌握了View的測量過程 (measure)、布局過...
- packagecom.yuntong.tv.view; importandroid.animation.Value...
- 文章獨家授權(quán)公眾號:碼個蛋更多分享:http://www.cherylgood.cn 我們在上一篇Android之...
- 一、Android開發(fā)初體驗 二、Android與MVC設計模式模型對象存儲著應用的數(shù)據(jù)和業(yè)務邏輯。模型類通常用來...
- 一:自定義View繪制流程函數(shù)調(diào)用鏈 二.幾個重要的函數(shù) 1.構(gòu)造函數(shù) 構(gòu)造函數(shù)是View的入口,可以用于初始化一...