關於Android中Builder的學習

2021-08-10 15:04:08 字數 4497 閱讀 6626

本例子是基於glide和picasso載入本地和網路的例子

源**如下

/*

* @description imagefillutil

* *

注意picasso

佔記憶體且在載入的時候會有閃爍,* 而

glide

不佔記憶體不閃爍,但會引起的失真

* dip

* @author [email protected]

* @time 2016/8/17-22:45

* @version v1.0.0

*/public classimagefillutils

public static voidclearglide(view target)

public staticbuilder builder(@nonnullcontext context,@nonnullimageview imageview)

returnbuilder

; }

public static classbuilder

this.context= context;

this.imageview= imageview;

}private intdip2px(intdipvalue)

publicbuilder setplaceholder(intplaceholder)

publicbuilder settype(inttype)

publicbuilder setradius(intradius)

publicbuilder setmargin(intmargin)

publicbuilder setfixable(booleanfixable)

publicbuilder setgifable(booleangifable)

publicbuilder setimageurl(string imageurl)

publicbuilder setresourceid(intresourceid)

publicbuilder seterrorresource(interrorresource)

publicbuilder setresizeable(booleanresizeable)

publicbuilder setcacheable(booleancacheable)

publicbuilder setfitable(booleanfitable)

publicbuilder setfadeable(booleanfadeable)

publicbuilder resize(intresizex,intresizey)

public voidsetpicassoimage()

// 載入網路資源檔案

if(!textutils.isempty(imageurl))

// 佔位符if(placeholder> 0)

// 展示型別

switch(type)

if(margin== 0)

requestcreator.transform(newpicassoroundtransform(radius,margin));

break;

}if(errorresource> 0)

if(fixable)

if(resizeable)

if(resizey== 0)

requestcreator.resize(dip2px(resizex), dip2px(resizey));

}requestcreator.priority(picasso.priority.high);

requestcreator.into(imageview);

}public voidsetglideimage()

if(!textutils.isempty(imageurl))

switch(type)

drawabletyperequest.transform(newglideroundtransform(context,radius));

break;

}if(cacheable)

if(fadeable)

if(resizeable)

if(resizey== 0)

drawabletyperequest.override(dip2px(resizex), dip2px(resizey));

}if(placeholder> 0)

if(errorresource> 0)

if(gifable)

// 根據imageview

縮放drawabletyperequest.into(new******target(target.size_original, target.size_original)

});}

}}

呼叫
imagefillutils.builder(context,imageview)

.setimageurl(url)

.setplaceholder(r.drawable.img_transition_default)

.seterrorresource(r.drawable.img_transition_default)

.setpicassoimage(); // .setglideimage();

android開發中build檔案刪除不了的問題

遇到的bug如下 clean up to date information build failed information total time 2.185 secs information 1 error information 0 warnings information see comple...

關於dojo的build系統

我們都知道,dojo 可以通過 build 來提公升應用系統的載入效率和使用者使用感受,可是到底自己的應用系統應該怎樣 build 卻有點糊塗,後面是我們在開發 riaeasy 時編寫的乙個 build profile 配有詳細的解說,或者對您有用。需要說明的是,dojo1.8 是乙個分水嶺,本配置...

Xcode中的Version和Build的區別

version 應用程式發布版本號 version對應的是cfbundleshortversionstring。version一般由產品部門確定,版本號是由分隔的整數組成的字串,一般有2段或者3段式,如 1.2,1.2.3 二段式 第乙個段 主版本號 大功能的新增或者有迥異的變化 第二個段 副版本號...