Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

ImageViewを丸く表示するViewを作ってみた

マテリアルデザインで人物のアイコンを円形で表示するのを見かけますが、ImageViewを拡張して画像を丸く表示するViewを作りました。
既にネット上に優れたコードがあると思いますが、私のはシンプルなやつです。

・楕円や角丸ではなく正円に画像をくり抜くイメージ
・元の画像が長方形の場合短い方の辺の長さに合わせてアスペクト比を保ったままくり抜く
・中心座標からの半径からはみ出した部分は無視する
・layout_widthとlayout_heightが違う値がセットされた場合小さい値に合わせた円を描く

というものです。ImageViewでScaleType.CENTER_CROPを指定した時と同様です。



CircleImageView for Material Design.

丸くする前に正方形にくりぬいたBitmapを作っています。

長い方は切り落とされます。

見た目はこのようになります。

バグがありましたら@sakura_bird1までお知らせいただければ助かります。