java - 如何绘制如下图所示的形状

标签 java android design-patterns

请帮我画一个像下图这样的形状。我尝试了很多东西,但没有一个代码有效。

Image of expected output, blue curve above grey

这是我试过的

 private Point mFirstCurveStartPoint = new Point();
 private Point mFirstCurveEndPoint = new Point();

 .................................................
 .................................................

      mFirstCurveStartPoint.set((mNavigationBarWidth / 2) - (CURVE_CIRCLE_RADIUS * 2) - (CURVE_CIRCLE_RADIUS / 3), 0);
    // the coordinates (x,y) of the end point after curve
      mFirstCurveEndPoint.set(mNavigationBarWidth / 2, CURVE_CIRCLE_RADIUS + (CURVE_CIRCLE_RADIUS / 4));

    mFirstCurveControlPoint1.set(mFirstCurveStartPoint.x + CURVE_CIRCLE_RADIUS + (CURVE_CIRCLE_RADIUS / 4), mFirstCurveStartPoint.y);
    // the coordinates (x,y)  of the 2nd control point on a cubic curve
    mFirstCurveControlPoint2.set(mFirstCurveEndPoint.x - (CURVE_CIRCLE_RADIUS * 2) + CURVE_CIRCLE_RADIUS, mFirstCurveEndPoint.y);

     mPath.reset();
    mPath.moveTo(0, 0);
    mPath.lineTo(mFirstCurveStartPoint.x, mFirstCurveStartPoint.y);

    mPath.cubicTo(mFirstCurveControlPoint1.x, mFirstCurveControlPoint1.y,
            mFirstCurveControlPoint2.x, mFirstCurveControlPoint2.y,
            mFirstCurveEndPoint.x, mFirstCurveEndPoint.y);

有什么方法可以使用 Xml 布局来完成此操作

最佳答案

由于声誉低无法添加评论,请查看此 link .

如果您要使用 Java,请添加另一个链接 here ,在 Areas 部分中,一些很好的示例如何使用 setVisible 实现您的形状。

关于java - 如何绘制如下图所示的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56558655/

相关文章:

java - 来自 Xpand 的 sample -

java - 如何更新方法以在按下按钮后从文本观察器返回更新的信息

c# - 如何轻松实现聚合对象的接口(interface)? (语言无关)

php - 构建 'two-way' OO动态ACL系统

iOS : Best practices for Fields Validation on User Interface

java - 获取一点与另一点之间的角度(三角函数)

java - 正则表达式替换java中的所有内容

java - 什么需要将 StringBuffer 绑定(bind)到同步块(synchronized block)?

android - 如何使用 Parse 注销/更改 Twitter 帐户

android - 棉花糖应用权限撤销通知?