ImageView를 사용자화하여 왼쪽 위 및 오른쪽 위 모서리가 원형이고 왼쪽 아래 및 오른쪽 아래 모서리가 직각이 되도록 합니다.

효과도:
코드:
package com.maixian.mx_android.widget;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Path;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.widget.ImageView;
/**
 * Created by xuemei on 2016/2/24.
 */
public class RoundImage extends ImageView {
    /*xy  ,   ,   ,   */
    private float[] rids = {20.0f, 20.0f, 20.0f, 20.0f, 0.0f, 0.0f, 0.0f, 0.0f};

    public RoundImage(Context context) {
        super(context);
    }

    public RoundImage(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public RoundImage(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onDraw(Canvas canvas) {

        Path path = new Path();
        int w = this.getWidth();
        int h = this.getHeight();
       /*radii              x,yradii     8*/
        path.addRoundRect(new RectF(0, 0, w, h), rids, Path.Direction.CW);
        canvas.clipPath(path);
        super.onDraw(canvas);
    }
}

설명:
우리는 경로에 원각 사각형을 추가하고 우리가 정의한 원각 반경을 설정하여 canvas에 화포를 절단하면 된다.이미지뷰는 위쪽은 원각이고 아래쪽은 직각으로 그렸어요.만약 그림의 네 개의 각이 서로 다른 직각 원각이 필요하다면, 우리의 원각 반경 값을 바꾸기만 하면 된다.

좋은 웹페이지 즐겨찾기