Java Code Examples for android.graphics.Canvas
The following examples show how to use
android.graphics.Canvas. These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: meter-number-picker Source File: MeterNumberPicker.java License: Apache License 2.0 | 6 votes |
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); int measuredHeight = getMeasuredHeight(); float x = (getRight() - getLeft()) / 2; float y = (getBottom() - getTop()) / 2 + textHeight / 2; int currentValueStart = (int) (y + currentScrollOffset); int prevValueStart = currentValueStart - measuredHeight; int nextValueStart = currentValueStart + measuredHeight; canvas.drawText(getValue(currentValueOffset + 1) + "", x, prevValueStart, textPaint); canvas.drawText(getValue(currentValueOffset) + "", x, currentValueStart, textPaint); canvas.drawText(getValue(currentValueOffset - 1) + "", x, nextValueStart, textPaint); }
Example 2
Source Project: letv Source File: DrawingCacheHolder.java License: Apache License 2.0 | 6 votes |
public final synchronized boolean draw(Canvas canvas, float left, float top, Paint paint) { boolean z = true; synchronized (this) { if (this.bitmapArray != null) { for (int i = 0; i < this.bitmapArray.length; i++) { for (int j = 0; j < this.bitmapArray[i].length; j++) { Bitmap bmp = this.bitmapArray[i][j]; if (bmp != null) { float dleft = left + ((float) (bmp.getWidth() * j)); if (dleft <= ((float) canvas.getWidth()) && ((float) bmp.getWidth()) + dleft >= 0.0f) { float dtop = top + ((float) (bmp.getHeight() * i)); if (dtop <= ((float) canvas.getHeight()) && ((float) bmp.getHeight()) + dtop >= 0.0f) { canvas.drawBitmap(bmp, dleft, dtop, paint); } } } } } } else if (this.bitmap != null) { canvas.drawBitmap(this.bitmap, left, top, paint); } else { z = false; } } return z; }
Example 3
Source Project: UltimateAndroid Source File: GridDividerDecoration.java License: Apache License 2.0 | 6 votes |
/** Draw dividers to the right of each child view */ public void drawHorizontal(Canvas c, RecyclerView parent) { final int top = parent.getPaddingTop(); final int bottom = parent.getHeight() - parent.getPaddingBottom(); final int childCount = parent.getChildCount(); for (int i = 0; i < childCount; i++) { final View child = parent.getChildAt(i); final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams(); final int left = child.getRight() + params.rightMargin + mInsets; final int right = left + mDivider.getIntrinsicWidth(); mDivider.setBounds(left, top, right, bottom); mDivider.draw(c); } }
Example 4
Source Project: styT Source File: MyDividerItemDecoration.java License: Apache License 2.0 | 6 votes |
/** * 绘制间隔 */ private void drawVertical(Canvas c, RecyclerView parent) { 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); final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child .getLayoutParams(); final int top = child.getBottom() + params.bottomMargin + Math.round(ViewCompat.getTranslationY(child)); final int bottom = top + mDivider.getIntrinsicHeight(); mDivider.setBounds(left, top, right, bottom); mDivider.draw(c); } }
Example 5
Source Project: giffun Source File: ColorFilterTransformation.java License: Apache License 2.0 | 6 votes |
@Override public Resource<Bitmap> transform(Resource<Bitmap> resource, int outWidth, int outHeight) { Bitmap source = resource.get(); int width = source.getWidth(); int height = source.getHeight(); Bitmap.Config config = source.getConfig() != null ? source.getConfig() : Bitmap.Config.ARGB_8888; Bitmap bitmap = mBitmapPool.get(width, height, config); if (bitmap == null) { bitmap = Bitmap.createBitmap(width, height, config); } Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColorFilter(new PorterDuffColorFilter(mColor, PorterDuff.Mode.SRC_ATOP)); canvas.drawBitmap(source, 0, 0, paint); return BitmapResource.obtain(bitmap, mBitmapPool); }
Example 6
Source Project: FimiX8-RE Source File: X8TabItem.java License: MIT License | 6 votes |
public void onDraw(Canvas canvas) { super.onDraw(canvas); Log.i("zdy", "......" + getWidth() + " " + getHeight()); if (getWidth() != 0) { int count = this.textArr.length; Paint p = new Paint(); p.setColor(this.lineColor); p.setStyle(Style.FILL); float with = (((float) getWidth()) * 1.0f) / ((float) this.textArr.length); for (int i = 1; i < count; i++) { RectF r1 = new RectF(); float nPos = with * ((float) i); r1.left = nPos - (((float) this.space) / 2.0f); r1.right = (((float) this.space) / 2.0f) + nPos; r1.top = (float) (this.lineStroke + 0); r1.bottom = (float) (getHeight() - this.lineStroke); canvas.drawRect(r1, p); } } }
Example 7
Source Project: LeafChart Source File: LeafLineRenderer.java License: Apache License 2.0 | 6 votes |
/** * 画折线 * * @param canvas */ public void drawLines(Canvas canvas, Line line) { if (line != null && isShow) { linePaint.setColor(line.getLineColor()); linePaint.setStrokeWidth(LeafUtil.dp2px(mContext, line.getLineWidth())); linePaint.setStyle(Paint.Style.STROKE); List<PointValue> values = line.getValues(); Path path = line.getPath(); int size = values.size(); for (int i = 0; i < size; i++) { PointValue point = values.get(i); if (i == 0) path.moveTo(point.getOriginX(), point.getOriginY()); else path.lineTo(point.getOriginX(), point.getOriginY()); } measure = new PathMeasure(path, false); linePaint.setPathEffect(createPathEffect(measure.getLength(), phase, 0.0f)); canvas.drawPath(path, linePaint); } }
Example 8
Source Project: PopupCircleMenu Source File: PopupButton.java License: MIT License | 6 votes |
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (mBitmap == null) { mPaint.setStyle(Paint.Style.STROKE); canvas.drawCircle(mWidth / 2, mWidth / 2, mCircleRadius, mPaint); } else { if (isChecked()) { mPaint.setColor(mColorChecked); if (mBackgroundChecked != null) mBitmap = Bitmap.createScaledBitmap(mBackgroundChecked, mCircleRadius, mCircleRadius, true); } else { mPaint.setColor(mColorNormal); if (mBackground != null) mBitmap = Bitmap.createScaledBitmap(mBackground, mCircleRadius, mCircleRadius, true); } mPaint.setStyle(Paint.Style.FILL); canvas.drawCircle(mWidth / 2, mWidth / 2, mCircleRadius, mPaint); canvas.drawBitmap(mBitmap, mCircleRadius + mMargin - mBitmap.getWidth() / 2, mCircleRadius + mMargin - mBitmap.getHeight() / 2, mPaint); } }
Example 9
Source Project: osmdroid Source File: SampleItemizedOverlay.java License: Apache License 2.0 | 6 votes |
@Override public void draw(Canvas c, MapView mapView, boolean shadow) { if (mFocusChanged) { mFocusChanged = false; // Remove any current focus if (mPopupView != null) mapView.removeView(mPopupView); SampleOverlayItem item = this.getFocus(); if (item != null) { mPopupView = getPopupView(mapView.getContext(), item); MapView.LayoutParams lp = new MapView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, item.getPoint(), MapView.LayoutParams.TOP_CENTER, 0, 0); mapView.addView(mPopupView, lp); } } super.draw(c, mapView, shadow); }
Example 10
Source Project: okhttp-OkGo Source File: NumberProgressBar.java License: Apache License 2.0 | 6 votes |
@Override protected void onDraw(Canvas canvas) { if (mIfDrawText) { calculateDrawRectF(); } else { calculateDrawRectFWithoutProgressText(); } if (mDrawReachedBar) { canvas.drawRect(mReachedRectF, mReachedBarPaint); } if (mDrawUnreachedBar) { canvas.drawRect(mUnreachedRectF, mUnreachedBarPaint); } if (mIfDrawText) canvas.drawText(mCurrentDrawText, mDrawTextStart, mDrawTextEnd, mTextPaint); }
Example 11
Source Project: data-binding-sample Source File: RoundedCornerTransformation.java License: Apache License 2.0 | 6 votes |
public static Bitmap getRoundedCornerBitmap(Bitmap input, float cornerRadius, int w, int h) { Bitmap output = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, w, h); final RectF rectF = new RectF(rect); paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, cornerRadius, cornerRadius, paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(input, 0, 0, paint); return output; }
Example 12
Source Project: Telegram Source File: UndoView.java License: GNU General Public License v2.0 | 6 votes |
@Override protected void onDraw(Canvas canvas) { if (currentAction == ACTION_DELETE || currentAction == ACTION_CLEAR) { int newSeconds = timeLeft > 0 ? (int) Math.ceil(timeLeft / 1000.0f) : 0; if (prevSeconds != newSeconds) { prevSeconds = newSeconds; timeLeftString = String.format("%d", Math.max(1, newSeconds)); textWidth = (int) Math.ceil(textPaint.measureText(timeLeftString)); } canvas.drawText(timeLeftString, rect.centerX() - textWidth / 2, AndroidUtilities.dp(28.2f), textPaint); canvas.drawArc(rect, -90, -360 * (timeLeft / 5000.0f), false, progressPaint); } long newTime = SystemClock.elapsedRealtime(); long dt = newTime - lastUpdateTime; timeLeft -= dt; lastUpdateTime = newTime; if (timeLeft <= 0) { hide(true, 1); } invalidate(); }
Example 13
Source Project: AndroidWallet Source File: LeafBuilder.java License: GNU General Public License v3.0 | 6 votes |
@Override protected void onDraw(Canvas canvas) { canvas.save(); //旋转 canvas.rotate(mRotateAngle, getViewCenterX(), getViewCenterY()); //路径 createStarPath(mStarPath, 5, -18); //路径加入中心圆 mStarPath.addCircle(getViewCenterX(), getViewCenterY(), mCenterCircleR, Path.Direction.CW); //这个很关键,选择路径填充方式 mStarPath.setFillType(Path.FillType.EVEN_ODD); //绘制 canvas.drawPath(mStarPath, mFullPaint); canvas.restore(); }
Example 14
Source Project: LNMOnlineAndroidSample Source File: RecyclerviewListDecorator.java License: Apache License 2.0 | 6 votes |
/** * Drawing only virtical lines in Android */ private void drawVertical(Canvas c, RecyclerView parent) { 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); 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); } }
Example 15
Source Project: PlayPauseDrawable Source File: PlayPauseDrawable.java License: Apache License 2.0 | 6 votes |
@Override public void draw(Canvas canvas) { canvas.drawCircle(mBounds.centerX(), mBounds.centerY(), mBounds.centerX(), mBackgroundPaint); Picture picture = new Picture() ; picture.draw(canvas); canvas.save(); canvas.rotate(180 * mRotation, (x(0) + x(1))/2, (y(0) + y(1))/2); canvas.drawLine(x(0), y(0), x(1), y(1), mLinePaint); canvas.restore(); canvas.save(); canvas.rotate(180 * mRotation, (x(2) + x(3)) / 2, (y(2) + y(3)) / 2); canvas.drawLine(x(2), y(2), x(3), y(3), mLinePaint); canvas.restore(); canvas.save(); canvas.rotate(180 * mRotation, (x(4) + x(5)) / 2, (y(4) + y(5)) / 2); canvas.drawLine(x(4), y(4), x(5), y(5), mLinePaint); canvas.restore(); }
Example 16
Source Project: InstaMaterial Source File: RoundedTransformation.java License: Apache License 2.0 | 6 votes |
@Override public Bitmap transform(Bitmap source) { int size = Math.min(source.getWidth(), source.getHeight()); int x = (source.getWidth() - size) / 2; int y = (source.getHeight() - size) / 2; Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size); if (squaredBitmap != source) { source.recycle(); } Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig()); Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP); paint.setShader(shader); paint.setAntiAlias(true); float r = size / 2f; canvas.drawCircle(r, r, r, paint); squaredBitmap.recycle(); return bitmap; }
Example 17
Source Project: SlideLayout Source File: VerticalButton.java License: GNU General Public License v2.0 | 6 votes |
@Override protected void onDraw(Canvas canvas){ TextPaint textPaint = getPaint(); textPaint.setColor(getCurrentTextColor()); textPaint.drawableState = getDrawableState(); canvas.save(); if(topDown){ canvas.translate(getWidth(), 0); canvas.rotate(90); }else { canvas.translate(0, getHeight()); canvas.rotate(-90); } canvas.translate(getCompoundPaddingLeft(), getExtendedPaddingTop()); getLayout().draw(canvas); canvas.restore(); }
Example 18
Source Project: MissZzzReader Source File: CircleImageView.java License: Apache License 2.0 | 6 votes |
@Override protected void onDraw(Canvas canvas) { if (mBitmap == null) { return; } if (mFillColor != Color.TRANSPARENT) { canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mDrawableRadius, mFillPaint); } canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mDrawableRadius, mBitmapPaint); if (mBorderWidth != 0) { canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mBorderRadius, mBorderPaint); } }
Example 19
Source Project: Matisse-Kotlin Source File: OverlayView.java License: Apache License 2.0 | 6 votes |
/** * This method draws dimmed area around the crop bounds. * * @param canvas - valid canvas object */ protected void drawDimmedLayer(@NonNull Canvas canvas) { canvas.save(); if (mCircleDimmedLayer) { canvas.clipPath(mCircularPath, Region.Op.DIFFERENCE); } else { canvas.clipRect(mCropViewRect, Region.Op.DIFFERENCE); } canvas.drawColor(mDimmedColor); canvas.restore(); if (mCircleDimmedLayer) { // Draw 1px stroke to fix antialias canvas.drawCircle(mCropViewRect.centerX(), mCropViewRect.centerY(), Math.min(mCropViewRect.width(), mCropViewRect.height()) / 2.f, mDimmedStrokePaint); } }
Example 20
Source Project: letv Source File: SlidingPaneLayout.java License: Apache License 2.0 | 6 votes |
public void draw(Canvas c) { Drawable shadowDrawable; super.draw(c); if (isLayoutRtlSupport()) { shadowDrawable = this.mShadowDrawableRight; } else { shadowDrawable = this.mShadowDrawableLeft; } View shadowView = getChildCount() > 1 ? getChildAt(1) : null; if (shadowView != null && shadowDrawable != null) { int left; int right; int top = shadowView.getTop(); int bottom = shadowView.getBottom(); int shadowWidth = shadowDrawable.getIntrinsicWidth(); if (isLayoutRtlSupport()) { left = shadowView.getRight(); right = left + shadowWidth; } else { right = shadowView.getLeft(); left = right - shadowWidth; } shadowDrawable.setBounds(left, top, right, bottom); shadowDrawable.draw(c); } }
Example 21
Source Project: AndroidCacheFoundation Source File: ImageUtils.java License: Apache License 2.0 | 6 votes |
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap .getHeight(), Config.ARGB_8888); Canvas canvas = new Canvas(output); final int color = 0xff424242; final Paint paint = new Paint(); final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); final RectF rectF = new RectF(rect); final float roundPx = pixels; //圆角 paint.setAntiAlias(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(color); canvas.drawRoundRect(rectF, roundPx, roundPx, paint); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); //Mode.SRC_IN 用前面画的“圆角矩形”对bitmap进行裁剪。 canvas.drawBitmap(bitmap, rect, rect, paint); return output; }
Example 22
Source Project: BigApp_WordPress_Android Source File: CustomViewBehind.java License: Apache License 2.0 | 6 votes |
public void drawSelector(View content, Canvas canvas, float openPercent) { if (!mSelectorEnabled) return; if (mSelectorDrawable != null && mSelectedView != null) { String tag = (String) mSelectedView.getTag(R.id.selected_view); if (tag.equals(TAG+"SelectedView")) { canvas.save(); int left, right, offset; offset = (int) (mSelectorDrawable.getWidth() * openPercent); if (mMode == SlidingMenu.LEFT) { right = content.getLeft(); left = right - offset; canvas.clipRect(left, 0, right, getHeight()); canvas.drawBitmap(mSelectorDrawable, left, getSelectorTop(), null); } else if (mMode == SlidingMenu.RIGHT) { left = content.getRight(); right = left + offset; canvas.clipRect(left, 0, right, getHeight()); canvas.drawBitmap(mSelectorDrawable, right - mSelectorDrawable.getWidth(), getSelectorTop(), null); } canvas.restore(); } } }
Example 23
Source Project: android-passcodeview Source File: PassCodeView.java License: Apache License 2.0 | 5 votes |
/** * Draw the {@link Bitmap} of the drawable which indicated filled and empty * passcode digits * * @param canvas - {@link Canvas} on which the drawable should be drawn */ private void drawDigitDrawable(Canvas canvas) { paint.setAlpha(255); int x = drawableStartX, y = drawableStartY; int totalContentWidth = drawableWidth + digitHorizontalPadding; for (int i = 1; i <= filledCount; i++) { canvas.drawBitmap(filledDrawable, x, y, paint); x += totalContentWidth; } for (int i = 1; i <= (digits - filledCount); i++) { canvas.drawBitmap(emptyDrawable, x, y, paint); x += totalContentWidth; } }
Example 24
Source Project: zen4android Source File: CanvasTransformerBuilder.java License: MIT License | 5 votes |
public CanvasTransformer zoom(final int openedX, final int closedX, final int openedY, final int closedY, final int px, final int py, final Interpolator interp) { initTransformer(); mTrans = new CanvasTransformer() { public void transformCanvas(Canvas canvas, float percentOpen) { mTrans.transformCanvas(canvas, percentOpen); float f = interp.getInterpolation(percentOpen); canvas.scale((openedX - closedX) * f + closedX, (openedY - closedY) * f + closedY, px, py); } }; return mTrans; }
Example 25
Source Project: LoveHeartView Source File: Petal.java License: Apache License 2.0 | 5 votes |
public void render(PointUtil p, int radius, Canvas canvas) { if (this.radius <= radius) { this.radius += growFactor; // / 10; } else { isFinished = true; } this.draw(p, canvas); }
Example 26
Source Project: bottomsheets Source File: BitmapUtils.java License: Apache License 2.0 | 5 votes |
@NonNull public static Bitmap getCircularBitmap(@NonNull Bitmap bitmap) { Preconditions.nonNull(bitmap); final Bitmap croppedCircularImg = Bitmap.createBitmap( bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888 ); final Canvas canvas = new Canvas(croppedCircularImg); final Paint paint = new Paint(); final Rect rectangle = new Rect( 0, 0, bitmap.getWidth(), bitmap.getHeight() ); paint.setAntiAlias(true); paint.setDither(true); paint.setFilterBitmap(true); canvas.drawARGB(0, 0, 0, 0); paint.setColor(0xff424242); canvas.drawOval(new RectF(rectangle), paint); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawBitmap(bitmap, rectangle, rectangle, paint); return croppedCircularImg; }
Example 27
Source Project: MonsterHunter4UDatabase Source File: SlidingTabStrip.java License: MIT License | 5 votes |
@Override protected void onDraw(Canvas canvas) { final int height = getHeight(); final int childCount = getChildCount(); final SlidingTabLayout.TabColorizer tabColorizer = mCustomTabColorizer != null ? mCustomTabColorizer : mDefaultTabColorizer; // Thick colored underline below the current selection if (childCount > 0) { View selectedTitle = getChildAt(mSelectedPosition); int left = selectedTitle.getLeft(); int right = selectedTitle.getRight(); int color = tabColorizer.getIndicatorColor(mSelectedPosition); if (mSelectionOffset > 0f && mSelectedPosition < (getChildCount() - 1)) { int nextColor = tabColorizer.getIndicatorColor(mSelectedPosition + 1); if (color != nextColor) { color = blendColors(nextColor, color, mSelectionOffset); } // Draw the selection partway between the tabs View nextTitle = getChildAt(mSelectedPosition + 1); left = (int) (mSelectionOffset * nextTitle.getLeft() + (1.0f - mSelectionOffset) * left); right = (int) (mSelectionOffset * nextTitle.getRight() + (1.0f - mSelectionOffset) * right); } mSelectedIndicatorPaint.setColor(color); canvas.drawRect(left, height - mSelectedIndicatorThickness, right, height, mSelectedIndicatorPaint); } // Thin underline along the entire bottom edge canvas.drawRect(0, height - mBottomBorderThickness, getWidth(), height, mBottomBorderPaint); }
Example 28
Source Project: PhotoEdit Source File: AddWatermarkActivity.java License: Apache License 2.0 | 5 votes |
public Bitmap getBitmapByView(View v) { Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); v.draw(canvas); return bitmap; }
Example 29
Source Project: fritz-examples Source File: OverlayView.java License: MIT License | 5 votes |
@Override public synchronized void draw(final Canvas canvas) { super.draw(canvas); if(callback != null) { callback.drawCallback(canvas); } }
Example 30
Source Project: android-file-chooser Source File: WrappedDrawable.java License: Apache License 2.0 | 5 votes |
@Override public void draw(Canvas canvas) { Drawable drawable = getDrawable(); if (drawable != null) { drawable.draw(canvas); } }