SuspensionIndexBar icon indicating copy to clipboard operation
SuspensionIndexBar copied to clipboard

关于绘制title文字的坐标问题

Open xiangcman opened this issue 8 years ago • 0 comments
trafficstars

/** * 绘制Title区域背景和文字的方法 * * @param c * @param left * @param right * @param child * @param params * @param position / private void drawTitleArea(Canvas c, int left, int right, View child, RecyclerView.LayoutParams params, int position) {//最先调用,绘制在最下层 mPaint.setColor(COLOR_TITLE_BG); //这里是top的坐标是往上走的,因此这里是在child的top基础上减去mTitleHeight c.drawRect(left, child.getTop() - params.topMargin - mTitleHeight, right, child.getTop() - params.topMargin, mPaint); mPaint.setColor(COLOR_TITLE_FONT); / Paint.FontMetricsInt fontMetrics = mPaint.getFontMetricsInt(); int baseline = (getMeasuredHeight() - fontMetrics.bottom + fontMetrics.top) / 2 - fontMetrics.top;*/

    mPaint.getTextBounds(mDatas.get(position).getSuspensionTag(), 0, mDatas.get(position).getSuspensionTag().length(), mBounds);
    //算左下角的坐标?
    c.drawText(mDatas.get(position).getSuspensionTag(), child.getPaddingLeft(), child.getTop() - params.topMargin - (mTitleHeight / 2 - mBounds.height() / 2), mPaint);

// c.drawText(mDatas.get(position).getSuspensionTag(), child.getPaddingLeft(), child.getTop() - params.topMargin - (mTitleHeight / 2 - mBounds.height() / 2), mPaint); // c.drawText(mDatas.get(position).getSuspensionTag(), child.getPaddingLeft(), child.getTop() - params.topMargin, mPaint); }

你这里算文字的坐标的时候,是左下角的?

xiangcman avatar Feb 20 '17 10:02 xiangcman