Android cavas将横向字体转换为竖直rotate(),drawText(),setTextAlign()

cavas的drawText()方法可以写字,想把字设置为横向的做法:

1.cavas提供了两个方法rotate(float degrees);      rotate(float degrees,float px,float py);

  Android坐标系讲解,以左上角为原点,向右为x轴正方向,向下为y轴正方向   

 第一个方法是还以原点为新坐标轴的原点,旋转degree的角度为新坐标系

 第二个方法是以(px,py)新坐标轴的原点,旋转degree的角度为新坐标系

旋转90度后的坐标系如下


2.cavas提供的的方法drawText(String text,float x,float y,Paint paint);

第一个参数是要显示的文字,第二、三个参数是显示的位置,最后一个参数是画笔

关于第二三个参数具体的意思还要看Paint画笔中的setTextAlign()方法的设置

eg:如果设置的是center,则第二三个参数是指文字中间的坐标(x,y)


程序如下:

canvas.rotate(-90);
        //当xyChartPaint的setTextAlign()设置为center时第二、三个参数代表这四个字中点所在的xy坐标

//要想还在原来位置显示的话就设置为(-y,x)
        canvas.drawText("开关状态", -((float)(getHeight()-60)-15-5 - 1/((float)1.6*1) * (getHeight()-60)/2), gridX-15, xyChartPaint);  
        canvas.rotate(90); //改变了坐标系还要再改过来 

paint的配置如下

//绘制XY轴上的字:Y开关状态、X时间
        xyChartPaint.setStyle(Style.FILL);  
        xyChartPaint.setStrokeWidth(1);  
        xyChartPaint.setColor(Color.BLUE);  
        xyChartPaint.setAntiAlias(true);  
        xyChartPaint.setTextAlign(Align.CENTER);  
        xyChartPaint.setTextSize(18);


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值