ImageViewを丸く表示するViewを作ってみた
マテリアルデザインで人物のアイコンを円形で表示するのを見かけますが、ImageViewを拡張して画像を丸く表示するViewを作りました。
既にネット上に優れたコードがあると思いますが、私のはシンプルなやつです。
・楕円や角丸ではなく正円に画像をくり抜くイメージ
・元の画像が長方形の場合短い方の辺の長さに合わせてアスペクト比を保ったままくり抜く
・中心座標からの半径からはみ出した部分は無視する
・layout_widthとlayout_heightが違う値がセットされた場合小さい値に合わせた円を描く
というものです。ImageViewでScaleType.CENTER_CROPを指定した時と同様です。
CircleImageView for Material Design.
丸くする前に正方形にくりぬいたBitmapを作っています。
バグがありましたら@sakura_bird1までお知らせいただければ助かります。