PickerView.java 文件源码

java
阅读 24 收藏 0 点赞 0 评论 0

项目:Widgets 作者:
/**
 * @param canvas
 * @param position 距离mCurrentSelected的差值
 * @param type     1表示向下绘制,-1表示向上绘制
 */
private void drawOtherText(Canvas canvas, int position, int type) {
    float d = (float) (MARGIN_ALPHA * mMinTextSize * position + type * mMoveLen);
    float scale = parabola(mViewHeight / 4.0f, d);
    float size = (mMaxTextSize - mMinTextSize) * scale + mMinTextSize;
    mPaint.setTextSize(size);
    mPaint.setAlpha((int) ((mMaxTextAlpha - mMinTextAlpha) * scale + mMinTextAlpha));
    float y = (float) (mViewHeight / 2.0 + type * d);
    FontMetricsInt fmi = mPaint.getFontMetricsInt();
    float baseline = (float) (y - (fmi.bottom / 2.0 + fmi.top / 2.0));

    if (null != mItemProvider) {
        int index = mCurrentSelected + type * position;
        String itemData = mItemProvider.getItem(mDataList.get(index), index);
        canvas.drawText(itemData, (float) (mViewWidth / 2.0), baseline, mPaint);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号