Android中drawTextOnPath文字效果演示(中级)

Android中Canvas提供了一个drawTextOnPath(Stringtext,Pathath,floathOffset,floatvOffset,Patingpaint)方法,该方法可以沿着Path绘制文本其中hOffset参数指定水平偏移vOffset参数指定垂直偏移

上代码

privatestaticclassmytextextendsView{

privatePaintpaint;

privatestaticfinalStringSKY="skyoceanone";

privatePathpaths[]=newPath[3];

publicmytext(Contextcontext){

super(context);

paint=newPaint();

paint.setColor(Color.RED);

paint.setAntiAlias(true);

paint.setTextAlign(Paint.Align.RIGHT);//设置从右变开始写字

paint.setTextSize(20);

paths[0]=newPath();

paths[0].moveTo(0,0);

for(inti=0;i<15;i++){//一条线的路径

paths[0].lineTo(i*30,(float)Math.random()*60);

}

paths[1]=newPath();

RectFoval=newRectF(0,0,300,200);

paths[1].addOval(oval,Path.Direction.CCW);//一个椭圆的路径

paths[2]=newPath();

paths[2].addArc(oval,60,180);//一个弧线的路径

}

@Override

protectedvoidonDraw(Canvascanvas){

//TODOAuto-generatedmethodstub

super.onDraw(canvas);

canvas.drawColor(Color.WHITE);

paint.setStyle(Paint.Style.STROKE);

paint.setStrokeWidth(1);

canvas.translate(0,20);

//以线路径为列子如果hOffsetvOffset两个参数为0效果如图一会沿着线上走

//参数为0,20则会向下20个像素点如图二

canvas.drawPath(paths[0],paint);

canvas.drawTextOnPath(SKY,paths[0],0,20,paint);

canvas.translate(0,120);

canvas.drawPath(paths[2],paint);

canvas.drawTextOnPath(SKY,paths[2],-30,30,paint);

canvas.translate(0,240);

paint.setStyle(Paint.Style.FILL);

canvas.drawPath(paths[1],paint);

canvas.drawTextOnPath(SKY,paths[1],-30,30,paint);

}

}

更多相关文章

  1. android存储路径问题
  2. 安卓入门及界面带参数跳转
  3. Android的参数大致分成两块:系统服务参数和平台系统信息。
  4. WebView与Javascript交互(相互调用参数、传值)
  5. Android Studio 3.2.2- Android SDK 安装包报错 无法 安装 路径
  6. Android 获取View的位置参数:x,y和相对父容器的偏移量以及中心点
  7. android 文档路径获取
  8. I2C-Tools 4.0使用说明及android平台移植,提供源码下载路径
  9. android 获取系统默认路径

随机推荐

  1. android消息处理机制学习(一)-Handler,Mess
  2. android 二 BMI 小例子
  3. Android 3.0 r1 API中文文档(107) —— A
  4. android aapt (android asset packaging t
  5. [置顶] Android 5.1 open data flow 数据
  6. Android 3.1 r1 中文API文档 (120) ——
  7. Android客户端与服务器用Socket进行通信
  8. 【专题】Android 启动流程相关
  9. Android 安卓让LinearLayout放置于底部的
  10. Android UI 优化-使用theme 预加载