java类android.graphics.Canvas的实例源码

DividerItemDecoration.java 文件源码 项目:miaosou 阅读 34 收藏 0 点赞 0 评论 0
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
    final int left = parent.getPaddingLeft();
    final int right = parent.getWidth() - parent.getPaddingRight();
    final int childCount = parent.getChildCount();
    for(int i = 0;i < childCount;i ++){
        final View child = parent.getChildAt(i);
        RecyclerView view = new RecyclerView(parent.getContext());
        final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
        final int top = child.getBottom() + params.bottomMargin;
        final int bottom = top + mDivider.getIntrinsicHeight();
        mDivider.setBounds(left,top,right,bottom);
        mDivider.draw(c);
    }
}
CaptureActivity.java 文件源码 项目:tvConnect_android 阅读 35 收藏 0 点赞 0 评论 0
private static void drawLine(Canvas canvas, Paint paint, ResultPoint a,
                             ResultPoint b, float scaleFactor) {
    if (a != null && b != null) {
        canvas.drawLine(scaleFactor * a.getX(), scaleFactor * a.getY(),
                scaleFactor * b.getX(), scaleFactor * b.getY(), paint);
    }
}
ProgressImage.java 文件源码 项目:SwipeToRefresh 阅读 30 收藏 0 点赞 0 评论 0
@Override
public void draw(Canvas canvas, Paint paint) {
    final int viewWidth = ProgressImage.this.getWidth();
    final int viewHeight = ProgressImage.this.getHeight();
    canvas.drawCircle(viewWidth / 2, viewHeight / 2, (mCircleDiameter / 2 + mShadowRadius),
            mShadowPaint);
    canvas.drawCircle(viewWidth / 2, viewHeight / 2, (mCircleDiameter / 2), paint);
}
LoadingView.java 文件源码 项目:LoadingViews 阅读 32 收藏 0 点赞 0 评论 0
@Override
protected void onDraw(Canvas canvas) {
    if (!isInEditMode())
        mLoadingView.onDraw(canvas);
    else
        EditModeDrawer.drawEditMode(type,canvas,getWidth(),getHeight(),contentPadding, Color.GRAY);
}
DefaultScanCursorView.java 文件源码 项目:QRCodeScanner 阅读 67 收藏 0 点赞 0 评论 0
protected void drawCorners(Canvas canvas, Rect rect) {

        canvas.drawBitmap(mCorner1, rect.left, rect.top, null);
        canvas.drawBitmap(mCorner2, rect.right - mCorner2.getWidth(), rect.top, null);
        canvas.drawBitmap(mCorner3, rect.left, rect.bottom - mCorner3.getHeight(), null);
        canvas.drawBitmap(mCorner4, rect.right - mCorner4.getWidth(),
                rect.bottom - mCorner4.getHeight(), null);

    }
WheelView.java 文件源码 项目:mupdf-android-viewer-nui 阅读 32 收藏 0 点赞 0 评论 0
/**
 * Draws rect for current value
 * @param canvas the canvas for drawing
 */
private void drawCenterRect(Canvas canvas) {
    int center = getHeight() / 2;
    int offset = (int) (getItemHeight() / 2 * 1.2);
    centerDrawable.setBounds(0, center - offset, getWidth(), center + offset);
    centerDrawable.draw(canvas);
}
playBtn.java 文件源码 项目:Android-Music-Player 阅读 26 收藏 0 点赞 0 评论 0
@Override
protected void onDraw(Canvas canvas) {
    PlayBtn.draw(canvas);
    super.postDraw(canvas);
    if(isPlaying){
        playing.draw(canvas);
    } else {
        stoped.draw(canvas);
    }
    super.afterDraw(canvas,PlayBtn.S0);
}
MainActivity.java 文件源码 项目:CodeCompilerApp 阅读 32 收藏 0 点赞 0 评论 0
@Override
public void onDraw(@NonNull final Canvas canvas) {

    if (lineCount != getLineCount() || startingLine != pageSystem.getStartingLine()) {
        startingLine = pageSystem.getStartingLine();
        lineCount = getLineCount();
        lineUtils.updateHasNewLineArray(pageSystem
                .getStartingLine(), lineCount, getLayout(), getText().toString());

        isGoodLineArray = lineUtils.getGoodLines();
        realLines = lineUtils.getRealLines();

    }

    if (PreferenceHelper.getLineNumbers(getContext())) {
        wrapContent = PreferenceHelper.getWrapContent(getContext());

        for (int i = 0; i < lineCount; i++) {
            // if last line we count it anyway
            if (!wrapContent
                    || isGoodLineArray[i]) {
                realLine = realLines[i];

                canvas.drawText(String.valueOf(realLine),
                        numbersWidth, // they are all center aligned
                        paddingTop + lineHeight * (i + 1),
                        mPaintNumbers);
            }
        }
    }

    super.onDraw(canvas);
}
DrawingPreviewPlacerView.java 文件源码 项目:simple-keyboard 阅读 32 收藏 0 点赞 0 评论 0
@Override
public void onDraw(final Canvas canvas) {
    super.onDraw(canvas);
    final int originX = CoordinateUtils.x(mKeyboardViewOrigin);
    final int originY = CoordinateUtils.y(mKeyboardViewOrigin);
    canvas.translate(originX, originY);
    canvas.translate(-originX, -originY);
}
PathsDrawable.java 文件源码 项目:GitHub 阅读 27 收藏 0 点赞 0 评论 0
@Override
public void draw(@NonNull Canvas canvas) {
    Rect bounds = getBounds();
    int width = bounds.width();
    int height = bounds.height();
    if (mPaint.getAlpha() == 0xFF) {
        canvas.save();
        canvas.translate(bounds.left-mStartX, bounds.top-mStartY);
        if (mPaths != null) {
            for (int i = 0; i < mPaths.size(); i++) {
                if (mColors != null && i < mColors.size()) {
                    mPaint.setColor(mColors.get(i));
                }
                canvas.drawPath(mPaths.get(i), mPaint);
            }
            mPaint.setAlpha(0xFF);
        }
        canvas.restore();
    } else {
        createCachedBitmapIfNeeded(width, height);
        if (!canReuseCache()) {
            updateCachedBitmap(width, height);
            updateCacheStates();
        }
        canvas.drawBitmap(mCachedBitmap, bounds.left, bounds.top, mPaint);
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号