android.graphics.Canvas Java Examples
The following examples show how to use
android.graphics.Canvas.
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 Author: alexzaitsev 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 Author: JackChan1999 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 Author: cymcsg 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 Author: stytooldex 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 Author: guolindev 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 Author: wladimir-computin 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 Author: LineChen 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 Author: panshen 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 Author: osmdroid 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 Author: jeasonlzy 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 Author: sys1yagi 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 Author: DrKLO 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 Author: Cocos-BCX 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 Author: safaricom 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 Author: tarek360 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 Author: frogermcs 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 Author: rey5137 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 Author: MissZzz1 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 Author: NFLeo 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 Author: JackChan1999 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 Author: jackrex 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 Author: BigAppOS 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 Author: Arjun-sna 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 Author: nihaoyalong 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 Author: AweiLoveAndroid 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 Author: arthur3486 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 Author: kamegami13 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 Author: jarlen 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 Author: fritzlabs 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 Author: hedzr 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); } }