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

实现如图效果:

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

        
  1. packagecom.app;
  2. importandroid.content.Context;
  3. importandroid.graphics.Canvas;
  4. importandroid.graphics.Color;
  5. importandroid.graphics.Paint;
  6. importandroid.view.View;
  7. publicclassDrawTextViewextendsView{
  8. privatePaintpaint=null;
  9. inty=0;
  10. publicDrawTextView(Contextcontext){
  11. super(context);
  12. paint=newPaint();
  13. }
  14. @Override
  15. protectedvoidonDraw(Canvascanvas){
  16. super.onDraw(canvas);
  17. floattextSizeArray[]=newfloat[]{15,18,21,24,27};
  18. for(inti=0;i<textSizeArray.length;i++){
  19. paint.setTextSize(textSizeArray[i]);
  20. paint.setColor(Color.BLUE);
  21. //获取文本的宽度可以用measureText方法
  22. //publicvoiddrawText(Stringtext,floatx,floaty,Paintpaint)
  23. //Parameters
  24. //text:Thetexttobedrawn
  25. //x:Thex-coordinateoftheoriginofthetextbeingdrawn
  26. //y:They-coordinateoftheoriginofthetextbeingdrawn
  27. //paint:Thepaintusedforthetext(e.g.color,size,style)
  28. canvas.drawText("Android(宽度:"+paint.measureText("Android")+")",0,50+y,paint);
  29. //每行文字距离5个像素
  30. y+=paint.getTextSize()+5;
  31. }
  32. }
  33. }

更多相关文章

  1. Android 中文设置成粗体的方法
  2. Bitmap和Drawable相互转换方法
  3. android onSaveInstanceState方法 横坚屏切换
  4. Android Studio 编译提示 aapt.exe finished with non-zero exit
  5. android中处理json最佳方法
  6. [置顶] 彻底解决Android 应用方法数不能超过65K的问题
  7. Android JNI编程内存问题定位方法

随机推荐

  1. 诺奖得主Akerlof 猛批“遗漏之罪与经济学
  2. Bandit算法在携程推荐系统中的应用与实践
  3. iOS面试题,性能优化篇!
  4. 实证应用经济学中的稳健性检验是什么? 怎
  5. AI与人,“替代”还是 “共生”
  6. 双胞胎数据! 中国父母把子女当一种理性投
  7. 父母为什么要买学区房? Top经济学家告诉
  8. Apache Flink OLAP引擎性能优化及应用
  9. 中国学界F4发表AER一篇! 知识青年上山下
  10. 整理了34篇关于中介, 调节和机制分析的文