android 通过canvas旋转 绘制文字 竖直等不同方向的显示
2013-08-21 16:07
651 查看
效果如下:
![](http://images.cnblogs.com/cnblogs_com/freeliver54/helloFreeWorld.png)
主体代码如下:
activity调用
![](http://images.cnblogs.com/cnblogs_com/freeliver54/helloFreeWorld.png)
主体代码如下:
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 stub holder = this.getHolder(); holder.addCallback(this); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub } @Override public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub new Thread(new MyThread()).start(); } @Override public 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{ @Override public void run() { // TODO Auto-generated method stub Canvas 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)); }
相关文章推荐
- android 通过canvas旋转 绘制文字 竖直等不同方向的显示
- Android 通过CANVAS旋转 绘制文字 竖直方向DEMO
- Android 怎么旋转TextView文字显示方向
- Android开发:ImageView上绘制旋转圆环(透明度不同的旋转圆环,利用canvas.drawArc实现)
- Android开发:ImageView上绘制旋转圆环(透明度不同的旋转圆环,利用canvas.drawArc实现)
- android:Canvas绘制自旋转Bitmap
- 自定义绘制android EditText的背景,定义EditText文字的显示样式
- HTML文本/文字竖直方向/纵向显示
- Android 图形:绘制渐变色奥运五环图形,游戏文字,验证码,Matrix旋转,缩放,倾斜,平移等
- android使用Canvas在图片上绘制文字
- android Canvas 向左上、右上、左下 方向绘制矩形不能跟随手指移动问题
- android 中实现任意方向的文字显示
- Flex Gumbo中如何通过textRotation样式,设置TextGraphic文字旋转方向
- Android TextView文字过多时,通过滚动条显示多余内容
- Android TextView文字过多时通过滚动条显示多余内容
- Android TextView不同文字显示不同颜色
- android中通过网络请求数据显示在Listview中,面对许多的item,如何给每个item设置点击事件以跳转到不同的activity
- Android同一个TevtView显示不同颜色的文字,添加不同的点击事件。
- Android TextView文字过多时,通过滚动条显示多余内容
- ArcGIS for Android 临时图层绘制文字 汉字不显示问题