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);