面试例题4:绘制5行文本,每一行的字体大小逐渐增加

题目来自:《android高薪之路—android程序员面试宝典》一书  ,只是为了个人学习方便

实现如图效果:

 

使用Canvas.drawText方法绘制5行文本,每一行的字体大小逐渐增加

 

  
  
  
  
  1. package com.app;  
  2.  
  3. import android.content.Context;  
  4. import android.graphics.Canvas;  
  5. import android.graphics.Color;  
  6. import android.graphics.Paint;  
  7. import android.view.View;  
  8.  
  9. public class DrawTextView extends View{  
  10.        private Paint paint = null;  
  11.        int y = 0;  
  12.        public DrawTextView(Context context) {  
  13.              super(context);  
  14.              paint = new Paint();  
  15.       }  
  16.  
  17.        @Override  
  18.        protected void onDraw(Canvas canvas) {  
  19.              super.onDraw(canvas);  
  20.              float textSizeArray[]=new float[]{15,18,21,24,27};  
  21.              for(int i=0;i<textSizeArray.length;i++){  
  22.                    paint.setTextSize(textSizeArray[i]);  
  23.                    paint.setColor(Color.BLUE);  
  24.                    //获取文本的宽度可以用measureText方法  
  25.                    //public void drawText(String text, float x, float y, Paint paint)  
  26.                    //Parameters  
  27.                    //      text:The text to be drawn  
  28.                    //          x :The x-coordinate of the origin of the text being drawn  
  29.                    //          y :The y-coordinate of the origin of the text being drawn  
  30.                    //    paint :The paint used for the text (e.g. color, size, style)  
  31.  
  32.                   canvas.drawText( "Android(宽度:" +paint .measureText("Android")+ ")", 0, 50+y , paint );  
  33.                     
  34.                    //每行文字距离5个像素  
  35.                    y+= paint.getTextSize()+5;  
  36.             }  
  37.       }  
  38. }  

 

你可能感兴趣的:(android,canvas,paint,drawText)