private void drawBubblePath(Canvas canvas, float triangleCenterX, float height, float width) {
final Path path = new Path();
int padding = 3;
final Rect rect = new Rect(padding, padding, (int) width - padding, (int) (height - dpToPx(BUBBLE_ARROW_HEIGHT)) - padding);
final float roundRectHeight = (height - dpToPx(BUBBLE_ARROW_HEIGHT)) / 2;
path.moveTo(rect.left + roundRectHeight, rect.top);
path.lineTo(rect.right - roundRectHeight, rect.top);
path.quadTo(rect.right, rect.top, rect.right, rect.top + roundRectHeight);
path.lineTo(rect.right, rect.bottom - roundRectHeight);
path.quadTo(rect.right, rect.bottom, rect.right - roundRectHeight, rect.bottom);
path.lineTo(triangleCenterX + dpToPx(BUBBLE_ARROW_WIDTH) / 2f, height - dpToPx(BUBBLE_ARROW_HEIGHT) - padding);
path.lineTo(triangleCenterX, height - padding);
path.lineTo(triangleCenterX - dpToPx(BUBBLE_ARROW_WIDTH) / 2f, height - dpToPx(BUBBLE_ARROW_HEIGHT) - padding);
path.lineTo(rect.left + roundRectHeight, rect.bottom);
path.quadTo(rect.left, rect.bottom, rect.left, rect.bottom - roundRectHeight);
path.lineTo(rect.left, rect.top + roundRectHeight);
path.quadTo(rect.left, rect.top, rect.left + roundRectHeight, rect.top);
path.close();
canvas.drawPath(path, settings.paintBubble);
}
Slidr.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:android-slidr
作者:
评论列表
文章目录