天天看点

android实现标签,AndroidTagGroup实现云标签效果

AndroidTagGroup实现云标签效果,各种背景效果的标签,并且支持添加,

大体实现:有一个TagsManager管理TagGroup,自定义TagGroup,对TagGroup设置setTags(tags);

TagGroup extends ViewGroup,TagGroup 由多个TagView组成,TagView继承TextView 。

本例子来源:https://github.com/2dxgujun/AndroidTagGroup

主要绘制代码如下:

@Override

protected void onDraw(Canvas canvas) {

canvas.drawArc(mLeftCornerRectF, -180, 90, true, mBackgroundPaint);

canvas.drawArc(mLeftCornerRectF, -270, 90, true, mBackgroundPaint);

canvas.drawArc(mRightCornerRectF, -90, 90, true, mBackgroundPaint);

canvas.drawArc(mRightCornerRectF, 0, 90, true, mBackgroundPaint);

canvas.drawRect(mHorizontalBlankFillRectF, mBackgroundPaint);

canvas.drawRect(mVerticalBlankFillRectF, mBackgroundPaint);

if (isChecked) {

canvas.save();

canvas.rotate(45, mCheckedMarkerBound.centerX(), mCheckedMarkerBound.centerY());

canvas.drawLine(mCheckedMarkerBound.left, mCheckedMarkerBound.centerY(),

mCheckedMarkerBound.right, mCheckedMarkerBound.centerY(), mCheckedMarkerPaint);

canvas.drawLine(mCheckedMarkerBound.centerX(), mCheckedMarkerBound.top,

mCheckedMarkerBound.centerX(), mCheckedMarkerBound.bottom, mCheckedMarkerPaint);

canvas.restore();

}

canvas.drawPath(mBorderPath, mBorderPaint);

super.onDraw(canvas);

}