美文网首页
aide安卓编程07-画文字

aide安卓编程07-画文字

作者: 傻傻不知天年 | 来源:发表于2018-10-02 11:22 被阅读0次

    屏幕坐标

    屏幕上的点的坐标(x,y)表示这个点是屏幕从上往下数第y+1行,从左往右数第x+1个像素点。

    屏幕左上角第一个点坐标是(0,0)。

    画文字

    把绘图部分的代码改为以下代码:

    Paint p=new Paint();//新建画笔
            p.setColor(Color.rgb(255,255,0));//设置画笔颜色(黄)
            p.setTextScaleX(2);//设置文字宽高比(2表示宽是高的2倍)
            p.setTextSize(50);//设置文字高
            canvas.drawText("天线宝宝之丁丁",100,200,p);
            //在(100,200)位置用画笔p画一段文字"天线宝宝之丁丁"
    

    注意第25~30行


    代码
    效果

    注意字的位置坐标指的是字左下角的坐标。

    文字可以是各国语言,各种符号,甚至emoji表情:


    代码
    效果

    用setTextSkewX可以改为斜体:

    Paint p=new Paint();//新建画笔
            p.setColor(Color.rgb(255,255,0));//设置画笔颜色(黄)
            p.setTextSize(200);//设置文字高
            p.setTextSkewX(-1);//设置文字倾斜度(-1表示往右斜1倍
            canvas.drawText("咩",100,200,p);
            p.setTextSkewX(-0.5f);//设置文字倾斜度(-0.5f表示往右斜0.5倍
            canvas.drawText("咩",100,400,p);
            p.setTextSkewX(0);//设置文字倾斜度(0表示不倾斜
            canvas.drawText("咩",100,600,p);
            p.setTextSkewX(0.5f);//设置文字倾斜度(0.5表示往左斜0.5倍
            canvas.drawText("咩",100,800,p);
            p.setTextSkewX(1);//设置文字倾斜度(1表示往左斜1倍
            canvas.drawText("咩",100,1000,p);
    
    代码
    效果

    注意小数的末尾要加个字母f来表示这是小数类型的数据。

    用setTextAlign可以改对齐方式:

    Paint p=new Paint();//新建画笔
            p.setColor(Color.rgb(255,255,0));//设置画笔颜色(黄)
            p.setTextSize(200);//设置文字高
            p.setTextAlign(Paint.Align.RIGHT);//右对齐
            canvas.drawText("12345",100,200,p);
            p.setTextAlign(Paint.Align.CENTER);//中对齐
            canvas.drawText("12345",100,400,p);
            p.setTextAlign(Paint.Align.LEFT);//左对齐
            canvas.drawText("12345",100,600,p);
    
    代码 效果

    字体设置

    Paint p=new Paint();//新建画笔
            p.setColor(Color.rgb(255,255,0));//设置画笔颜色(黄)
            p.setTextSize(100);//设置文字高
            
            p.setTypeface(Typeface.SERIF);//设置字体
            canvas.drawText("Very Good!serif",100,200,p);
            
            p.setFakeBoldText(true);//粗体
            p.setTypeface(Typeface.SERIF);//设置字体
            canvas.drawText("Very Good!serif粗",100,400,p);
            
            p.setFakeBoldText(false);//取消粗体
            p.setSubpixelText(true);//设置亚像素(让文字更清晰)
            p.setTypeface(Typeface.MONOSPACE);//设置字体
            canvas.drawText("Very Good!monospace清晰",100,600,p);
            
            p.setSubpixelText(false);//取消亚像素
            p.setStrikeThruText(true);//删除线
            p.setTypeface(Typeface.SANS_SERIF);//设置字体
            canvas.drawText("Very Good!sans_serif删除线",100,800,p);
            
            p.setStrikeThruText(false);//取消删除线
            p.setUnderlineText(true);//下划线
            p.setTypeface(Typeface.DEFAULT);//设置字体
            canvas.drawText("Very Good!default下划线",100,1000,p);
    
    代码
    效果

    相关文章

      网友评论

          本文标题:aide安卓编程07-画文字

          本文链接:https://www.haomeiwen.com/subject/wggooftx.html