private void initBottomRoundedPath(RectF rect, Path path, float strokeWidth) {
path.moveTo(rect.left + mCornersRadius + strokeWidth, rect.top + strokeWidth);
path.lineTo(rect.width() - mCornersRadius - strokeWidth, rect.top + strokeWidth);
path.arcTo(new RectF(rect.right - mCornersRadius,
rect.top + strokeWidth, rect.right - strokeWidth, mCornersRadius + rect.top), 270, 90);
path.lineTo(rect.right - strokeWidth, rect.bottom - mArrowHeight - mCornersRadius - strokeWidth);
path.arcTo(new RectF(rect.right - mCornersRadius, rect.bottom - mCornersRadius - mArrowHeight,
rect.right - strokeWidth, rect.bottom - mArrowHeight - strokeWidth), 0, 90);
path.lineTo(rect.left + mArrowWidth + mArrowPosition - (strokeWidth / 2), rect.bottom - mArrowHeight - strokeWidth);
path.lineTo(rect.left + mArrowPosition + mArrowWidth / 2, rect.bottom - strokeWidth - strokeWidth);
path.lineTo(rect.left + mArrowPosition + (strokeWidth / 2), rect.bottom - mArrowHeight - strokeWidth);
path.lineTo(rect.left + Math.min(mCornersRadius, mArrowPosition) + strokeWidth, rect.bottom - mArrowHeight - strokeWidth);
path.arcTo(new RectF(rect.left + strokeWidth, rect.bottom - mCornersRadius - mArrowHeight,
mCornersRadius + rect.left, rect.bottom - mArrowHeight - strokeWidth), 90, 90);
path.lineTo(rect.left + strokeWidth, rect.top + mCornersRadius + strokeWidth);
path.arcTo(new RectF(rect.left + strokeWidth, rect.top + strokeWidth, mCornersRadius
+ rect.left, mCornersRadius + rect.top), 180, 90);
path.close();
}
Bubble.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:Hitalk
作者:
评论列表
文章目录