面试例题4:绘制5行文本,每一行的字体大小逐渐增加
16lz
2022-05-16
题目来自:《android高薪之路—android程序员面试宝典》一书 ,只是为了个人学习方便
实现如图效果:
使用Canvas.drawText方法绘制5行文本,每一行的字体大小逐渐增加
- packagecom.app;
- importandroid.content.Context;
- importandroid.graphics.Canvas;
- importandroid.graphics.Color;
- importandroid.graphics.Paint;
- importandroid.view.View;
- publicclassDrawTextViewextendsView{
- privatePaintpaint=null;
- inty=0;
- publicDrawTextView(Contextcontext){
- super(context);
- paint=newPaint();
- }
- @Override
- protectedvoidonDraw(Canvascanvas){
- super.onDraw(canvas);
- floattextSizeArray[]=newfloat[]{15,18,21,24,27};
- for(inti=0;i<textSizeArray.length;i++){
- paint.setTextSize(textSizeArray[i]);
- paint.setColor(Color.BLUE);
- //获取文本的宽度可以用measureText方法
- //publicvoiddrawText(Stringtext,floatx,floaty,Paintpaint)
- //Parameters
- //text:Thetexttobedrawn
- //x:Thex-coordinateoftheoriginofthetextbeingdrawn
- //y:They-coordinateoftheoriginofthetextbeingdrawn
- //paint:Thepaintusedforthetext(e.g.color,size,style)
- canvas.drawText("Android(宽度:"+paint.measureText("Android")+")",0,50+y,paint);
- //每行文字距离5个像素
- y+=paint.getTextSize()+5;
- }
- }
- }
更多相关文章
- Android(安卓)NDK c调用java代码
- Android的Activity获取fragment和fragment的组件
- Android使用AudioRecord遇到的问题与解决方法
- Android屏幕信息获取
- Android(安卓)中文设置成粗体的方法
- Android的图片压缩类ThumbnailUtils
- 在 Android(安卓)应用中使用数据库
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用