相关疑难解决方法(0)

自定义布局,围绕其内容的角落

我想创建一个通用的ViewGroup,然后可以在XML布局中重用它来围绕任何放入它的角落.

由于某种原因canvas.clipPath()似乎没有效果.我究竟做错了什么?

这是Java代码:

package rounded;

import static android.graphics.Path.Direction.CCW;
public class RoundedView extends FrameLayout {
    private float radius;
    private Path path = new Path();
    private RectF rect = new RectF();

    public RoundedView(Context context, AttributeSet attrs) {
        super(context, attrs);
        this.radius = attrs.getAttributeFloatValue(null, "corner_radius", 0f);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        int savedState = canvas.save();
        float w = getWidth();
        float h = getHeight();
        path.reset();
        rect.set(0, 0, w, h);
        path.addRoundRect(rect, radius, radius, CCW);
        path.close();
        boolean debug = canvas.clipPath(path);
        super.onDraw(canvas);
        canvas.restoreToCount(savedState);
    } …
Run Code Online (Sandbox Code Playgroud)

android android-layout

17
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

android-layout ×1