面试例题4:绘制5行文本,每一行的字体大小逐渐增加
16lz
2021-01-23
题目来自:《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 中文设置成粗体的方法
- Bitmap和Drawable相互转换方法
- android onSaveInstanceState方法 横坚屏切换
- Android Studio 编译提示 aapt.exe finished with non-zero exit
- android中处理json最佳方法
- [置顶] 彻底解决Android 应用方法数不能超过65K的问题
- Android JNI编程内存问题定位方法