效果如下:

android 通过canvas旋转 绘制文字 竖直等不同方向的显示

主体代码如下:

packagecom.free.chart;

importandroid.content.Context;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.view.SurfaceHolder;
importandroid.view.SurfaceView;

public classDrawTextStudy extendsSurfaceView implementsSurfaceHolder.Callback{

SurfaceHolderholder;
publicDrawTextStudy(Contextcontext){
super(context);
// TODOAuto-generatedconstructorstub
holder= this.getHolder();
holder.addCallback( this);
}

@Override
public voidsurfaceChanged(SurfaceHolderholder, intformat, intwidth,
intheight){
// TODOAuto-generatedmethodstub

}

@Override
public voidsurfaceCreated(SurfaceHolderholder){
// TODOAuto-generatedmethodstub
newThread( newMyThread()).start();
}

@Override
public voidsurfaceDestroyed(SurfaceHolderholder){
// TODOAuto-generatedmethodstub

}

voiddrawText(Canvascanvas,Stringtext, floatx, floaty,Paintpaint, floatangle){
if(angle!=0){
canvas.rotate(angle,x,y);
}
canvas.drawText(text,x,y,paint);
if(angle!=0){
canvas.rotate(-angle,x,y);
}
}

classMyThread implementsRunnable{

@Override
public voidrun(){
// TODOAuto-generatedmethodstub
Canvascanvas= null;
try{
canvas=holder.lockCanvas();
Paintpaint= newPaint();
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(Exceptione){

} finally{
holder.unlockCanvasAndPost(canvas);
}

}
}


}

activity调用

public voidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);

setContentView( newDrawTextStudy( this));
}

更多相关文章

  1. 四个方向上的SlidingDrawer
  2. Android camera 竖直拍照 获取竖直方向照片
  3. Android 禁止屏幕旋转 & 屏幕旋转不刷新 Activity & 动态更改屏
  4. Android 屏幕方向以及UI界面状态的保存
  5. Android 手动设置屏幕方向后不能自动转屏问题
  6. Android开发提高篇之“多方向”抽屉
  7. 设备方向

随机推荐

  1. 可以在Android上发定时短信
  2. android声音调整源代码分析
  3. Android 自定义View跟随页面切换小圆点
  4. Android pm命令详解
  5. 关于android“多选”的小研究
  6. Android小设置19
  7. 【android】Error: Static interface met
  8. Android开发小技巧:怎样在 textview 前面
  9. Android 多点触摸 multi-touch
  10. android开关飞行模式的方法