Android(安卓)通过CANVAS旋转 绘制文字 竖直方向DEMO
16lz
2021-12-04
package com.free.chart;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.view.SurfaceHolder;import android.view.SurfaceView;public class DrawTextStudy extends SurfaceView implements SurfaceHolder.Callback {SurfaceHolder holder;public DrawTextStudy(Context context) {super(context);// TODO Auto-generated constructor stubholder = this.getHolder();holder.addCallback(this);}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {// TODO Auto-generated method stub}@Overridepublic void surfaceCreated(SurfaceHolder holder) {// TODO Auto-generated method stubnew Thread(new MyThread()).start();}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {// TODO Auto-generated method stub}void drawText(Canvas canvas ,String text , float x ,float y,Paint paint ,float angle){if(angle != 0){canvas.rotate(angle, x, y);}canvas.drawText(text, x, y, paint);if(angle != 0){canvas.rotate(-angle, x, y);}}class MyThread implements Runnable{@Overridepublic void run() {// TODO Auto-generated method stubCanvas canvas = null;try{canvas = holder.lockCanvas();Paint paint = new Paint();paint.setColor(Color.WHITE);paint.setTextSize(20);canvas.drawLine(100, 100, 100, 400, paint);drawText(canvas,"Hello", 80, 200, paint,-90);paint.setColor(Color.RED);paint.setTextSize(40);drawText(canvas,"free", 150, 180, paint,-45);paint.setColor(Color.BLUE);drawText(canvas,"World", 150, 80, paint,0);canvas.drawLine(100, 100, 400, 100, paint);} catch(Exception e){} finally {holder.unlockCanvasAndPost(canvas);}}}}
activity调用
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(new DrawTextStudy(this));}
转自:
http://www.eoeandroid.com/thread-178896-1-1.html
更多相关文章
- android调用本地录制程序获取录制文件路径的问题
- Android调用系统功能获取当前经纬度
- android与原生的JS交互
- 安卓面试中遇到的问题2017.2
- Android(安卓)NFC架构分析
- Android电源管理简介(下)
- Android中调用摄像头拍照保存,并在相册中选择图片显示
- Android(安卓)Activity的各种重载方法
- android 应用中加入支付功能(支付宝集成)