Viewを丸く切り取る
Viewを丸く切り取るには、onDraw()をオーバーライドしてclipPath()してあげたクラスを作ってあげればOK。
こんな感じ。
あとは、これをLayoutにぺたっと貼り付け。
見た目はこんな感じ。
こんな感じ。
public class ClipImageView extends ImageView {
private static final String TAG = "ClipImageView";
public ClipImageView(Context context) {
super(context);
}
public ClipImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ClipImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
private Path pathCircle = new Path();
/**
* Viewのサイズ確保
*/
protected void onSizeChanged(int w, int h, int oldw, int oldh){
// 丸いパス
pathCircle.addCircle(w/2, h/2, 24, Path.Direction.CW);
}
/**
* 描画処理
*/
protected void onDraw(Canvas canvas)
{
// パスに沿って切り取り
canvas.clipPath(pathCircle);
super.onDraw(canvas);
}
}
あとは、これをLayoutにぺたっと貼り付け。
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/icon"
/>
見た目はこんな感じ。
コメント
コメントを投稿