设置imageView顶部两个圆角

Ui需求 只需要顶部图片两个圆角

/**
 * Created by FMY on 2017/4/13.
 *  图片切换顶部圆角
 */

public class ChangeGasStationImageView extends android.support.v7.widget.AppCompatImageView {
    public ChangeGasStationImageView(Context context) {
        super(context, null);

    }

    /*圆角的半径,依次为左上角xy半径,右上角,右下角,左下角*/
    private float[] rids;

    public ChangeGasStationImageView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs, 0);

    }

    public ChangeGasStationImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {


        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onDraw(Canvas canvas) {

        float rid = DP_SP_PX_Utils.dp2px(getContext().getResources(), 9.5f);
        //创建圆角数组
        rids = new float[]{rid, rid, rid, rid, 0.0f, 0.0f, 0.0f, 0.0f};
        Path path = new Path();
        int w = this.getWidth();
        int h = this.getHeight();
        path.addRoundRect(new RectF(0, 0, w, h), rids, Path.Direction.CW);
        canvas.clipPath(path);
        super.onDraw(canvas);
    }
}

你可能感兴趣的:(自定义view)