微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.graphics.ComposePathEffect的实例源码

项目:android-study    文件PathEffectView.java   
@Override protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  //无效果
  mEffects[0] = null;
  //拐角处变得圆滑
  mEffects[1] = new CornerPathEffect(30);
  //线段上就会产生许多杂点
  mEffects[2] = new discretePathEffect(3.0F,5.0F);
  //绘制虚线
  mEffects[3] = new DashPathEffect(new float[] { 20,10,5,10 },0);
  Path path = new Path();
  path.addRect(0,8,Path.Direction.ccw);
  //设置点的图形,即方形点的虚线,圆形点的虚线
  mEffects[4] = new PathDashPathEffect(path,12,PathDashPathEffect.Style.ROTATE);
  //组合PathEffect
  mEffects[5] = new ComposePathEffect(mEffects[3],mEffects[1]);
  for (int i = 0; i < mEffects.length; i++) {
    mPaint.setPathEffect(mEffects[i]);
    canvas.drawPath(mPath,mPaint);
    canvas.translate(0,200);
  }
}
项目:cidrawing    文件SmoothstrokeMode.java   
protected CiPaint assignPaint() {
    CiPaint paint = new CiPaint(drawingContext.getPaint());
    paint.setStyle(Paint.Style.stroke);
    paint.setAntiAlias(true);
    paint.setstrokeJoin(Paint.Join.ROUND);
    paint.setstrokeCap(Paint.Cap.ROUND);
    if (smoothRadius > 0) {
        CornerPathEffect effect = new CornerPathEffect(smoothRadius);
        if (paint.getPathEffect() == null) {
            paint.setPathEffect(effect);
        } else {
            ComposePathEffect composeEffect = new ComposePathEffect(paint.getPathEffect(),effect);
            paint.setPathEffect(composeEffect);
        }
    }
    return paint;
}
项目:ametro    文件SegmentElement.java   
private Paint createPaint(int color,float linewidth,boolean isWorking){
    Paint paint = new Paint();
    paint.setStyle(Style.stroke);
    paint.setAntiAlias(true);
    paint.setColor(color);

    if (isWorking) {
        paint.setstrokeWidth(linewidth);
        paint.setPathEffect(
                new CornerPathEffect(linewidth * 0.2f));
    } else {
        paint.setstrokeWidth(linewidth * 0.75f);
        paint.setPathEffect(new ComposePathEffect(
                new DashPathEffect(new float[]{linewidth * 0.8f,linewidth * 0.2f},0),new CornerPathEffect(linewidth * 0.2f)
        ));
    }
    return paint;
}
项目:binea_project_for_android    文件PathEffectView.java   
private void initPaint() {
    mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

    mPaint.setStyle(Paint.Style.stroke);
    mPaint.setstrokeWidth(5);
    mPaint.setColor(Color.RED);

    mPath = new Path();

    mPath.moveto(0,0);

    for(int i = 0;i<=30;i++){
        mPath.lineto(i*35,(float)Math.random()*100);
    }

    mEffects = new PathEffect[7];
    mEffects[0] = null;
    mEffects[1] = new CornerPathEffect(10);
    mEffects[2] = new discretePathEffect(3.0F,5.0F);
    mEffects[3] = new DashPathEffect(new float[] { 20,mPhase);
    Path path = new Path();
    path.addRect(0,Path.Direction.ccw);
    mEffects[4] = new PathDashPathEffect(path,mPhase,PathDashPathEffect.Style.ROTATE);
    mEffects[5] = new ComposePathEffect(mEffects[2],mEffects[4]);
    mEffects[6] = new SumPathEffect(mEffects[4],mEffects[3]);

}
项目:CUT-IN-material    文件PathEffectsCutin.java   
private static void makeEffects(PathEffect[] e,float phase) {
    e[0] = null;     // no effect
    e[1] = new CornerPathEffect(10);
    e[2] = new DashPathEffect(new float[] {10,5},phase);
    e[3] = new PathDashPathEffect(makePathDash(),phase,PathDashPathEffect.Style.ROTATE);
    e[4] = new ComposePathEffect(e[2],e[1]);
    e[5] = new ComposePathEffect(e[3],e[1]);
}
项目:MISportsConnectWidget    文件MISportsConnectView.java   
private void init(Context context) {
    mainTitlePaint = new Paint();
    mainTitlePaint.setColor(ContextCompat.getColor(context,R.color.white));
    mainTitlePaint.setTextAlign(Paint.Align.CENTER);
    mainTitlePaint.setTextSize(DensityUtils.sp2px(context,MAIN_TITLE_FONT_SIZE_SP));
    mainTitleOffsetY = -(mainTitlePaint.getFontMetrics().ascent +
            mainTitlePaint.getFontMetrics().descent) / 2;
    mainTitlePaint.setAntiAlias(true);

    circleColor = ContextCompat.getColor(context,R.color.whiteTransparent);
    subTitlePaint = new Paint();
    subTitlePaint.setColor(circleColor);
    subTitlePaint.setTextSize(DensityUtils.sp2px(context,SUB_TITLE_FONT_SIZE_SP));
    subTitleOffsetY = DensityUtils.sp2px(context,SUB_TITLE_FONT_OFFSET_DP);
    subTitleSeparator = getResources().getString(R.string.sub_title_separator);
    subTitlePaint.setAntiAlias(true);

    bigCirclePaint = new Paint();
    bigCirclePaint.setstrokeWidth(DensityUtils.dp2px(context,BIG_CIRCLE_SIZE));
    bigCirclePaint.setStyle(Paint.Style.stroke);
    bigCirclePaint.setAntiAlias(true);

    blurPaint = new Paint(bigCirclePaint);
    blurSize = DensityUtils.dp2px(context,CIRCLE_BLUR_SIZE);

    PathEffect pathEffect1 = new CornerPathEffect(DensityUtils.dp2px(getContext(),BIG_CIRCLE_SHAKE_RADIUS));
    PathEffect pathEffect2 = new discretePathEffect(DensityUtils.dp2px(getContext(),BIG_CIRCLE_SHAKE_RADIUS),DensityUtils.dp2px(getContext(),BIG_CIRCLE_SHAKE_OFFSET));
    PathEffect pathEffect = new ComposePathEffect(pathEffect1,pathEffect2);
    bigCirclePaint.setPathEffect(pathEffect);

    dottedCirclePaint = new Paint();
    dottedCirclePaint.setstrokeWidth(DensityUtils.dp2px(context,DottED_CIRCLE_WIDTH));
    dottedCirclePaint.setColor(ContextCompat.getColor(context,R.color.whiteTransparent));
    dottedCirclePaint.setStyle(Paint.Style.stroke);
    float gagPx = DensityUtils.dp2px(context,DottED_CIRCLE_GAG);
    dottedCirclePaint.setPathEffect(new DashPathEffect(new float[]{gagPx,gagPx},0));
    dottedCirclePaint.setAntiAlias(true);

    solidCirclePaint = new Paint();
    solidCirclePaint.setstrokeWidth(DensityUtils.dp2px(context,SOLID_CIRCLE_WIDTH));
    solidCirclePaint.setColor(ContextCompat.getColor(context,R.color.white));
    solidCirclePaint.setStyle(Paint.Style.stroke);
    solidCirclePaint.setstrokeCap(Paint.Cap.ROUND);
    solidCirclePaint.setAntiAlias(true);

    dotPaint = new Paint();
    dotPaint.setstrokeWidth(DensityUtils.dp2px(context,DOT_SIZE));
    dotPaint.setstrokeCap(Paint.Cap.ROUND);
    dotPaint.setColor(ContextCompat.getColor(context,R.color.white));
    dotPaint.setAntiAlias(true);

    backgroundBitmap = BitmapFactory.decodeResource(context.getResources(),R.mipmap.bg_step_law);

    // 设置手表 icon 的大小
    watchBitmap = BitmapFactory.decodeResource(context.getResources(),R.mipmap.icon_headview_watch);
    float scale = DensityUtils.dp2px(context,WATCH_SIZE) / watchBitmap.getWidth();
    Matrix matrix = new Matrix();
    matrix.postScale(scale,scale);
    watchBitmap = Bitmap.createBitmap(watchBitmap,watchBitmap.getWidth(),watchBitmap.getHeight(),matrix,true);
    watchOffset = DensityUtils.sp2px(context,WATCH_OFFSET_DP);

    fireworksCircle = new FireworksCircleGraphics(context);

    animationThread = new AnimationThread();
    animationThread.start();
}
项目:android-graphics-demo    文件HollowTextActivity.java   
private PathEffect getCornerDashPathEffect(int strokeWidth) {
  PathEffect dash = getDashPathEffect(strokeWidth);
  PathEffect corner = new CornerPathEffect(strokeWidth);
  return new ComposePathEffect(dash,corner);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。