いろいろ備忘録

雑記です。

PicassoとRoundedImageViewを使って丸で枠付きのImageViewを表示する(MVVM)

build.gradle

//Picasso
compile 'com.squareup.picasso:picasso:2.5.2'
//ImageViewを丸にしたり枠つけたり
compile 'com.makeramen:roundedimageview:2.3.0'

ビューモデル

@BindingAdapter ( { "picturePath", "gender" })
public static void loadImage ( ImageView view, String picturePath, String gender ) {

int frameColor = R.color.manFrame;
int placeHolderID = R.drawable.boy_happy;
if ( gender != null && gender.equals ( "woman" ) ) {
frameColor = R.color.womanFrame;
placeHolderID = R.drawable.girl_happy;
}
Picasso.with ( view.getContext () ).setLoggingEnabled ( true );

Picasso.with ( view.getContext () )
.load ( picturePath )
.placeholder ( placeHolderID )
.fit ()
.transform ( new RoundedTransformationBuilder ()
.borderColor ( frameColor )
.borderWidthDp ( 6 )
.oval ( true )
.build () )
.into ( view );
}

setLoggingEnabled ( true )でログを出力します。

.placeholder ( placeHolderID )で、読み込み前や取得できなかったときの代替画像を指定します。

.transformでRoundedImageView内に用意されているPicasso用のTransformationを指定します。