首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 在任意位置绘制文本

基础通常情况下,在屏幕的特定位置上显示文字是个很简单的事情。使用TextView,结合各种XxxLayout,基本上想在哪显示文字都可以。...,我们需要传入(x,y)坐标参数让Canvas知道我们期望在哪个位置绘制文本。...x、y分别传入多少才能让文字在圈圈的中间显示呢?本文将通过这个例子,来讲述Android中如何灵活地在想要的位置绘制文本。...实际上,y水平线就是字体排印学中的“基线(baseline)”,大部分英文字母和阿拉伯数字都绘制在基线之上,例外的如上述实例中的“p”等,下半部分会超出基线。...中文字符维基百科说东亚字体无基线,也无升部和降部,那Android里中文的绘制是怎样的一种情况呢?

2.5K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Android 应用开发】Canvas 精准绘制文字 ( 文本边界坐标解析 | 绘图位置 )

    文章目录 一、文本边界坐标解析 二、绘图位置 一、文本边界坐标解析 ---- 在上一篇博客 【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐..., 就是调用 Canvas 的 drawText 方法 , 传入的 x 值和 基线值 ; 下图中的 绿色矩形框是 Canvas 的绘图区域 , 橙色矩形框是 Canvas 绘制的文本的实际区域 ; 绘图区域...包含 文本实际占用区域 ; 上述的坐标值 , 是在如下坐标系的值 ; left = 4 , top = -31 , right = 28 , bottom = 0 ; left 值是 绘图区域 最左侧..., 基线值是 0 , 正数 , 负数 , 0 都有可能 , 这里是 0 ; 一般是正数或 0 , 负数不常见 ; 二、绘图位置 ---- 使用 Canvas 的 drawText 方法绘制文字 ,...传入 ( x , y ) 坐标 , x 是绘制区域的左侧 , y 是文本基线 , 绘制的位置如下 : 如果不是要求很精确的话 , 一定程度上可以理解为 传入的值 左下角的位置 ; 如果要精准到像素级别

    2.5K10

    【STM32F429】第13章 ThreadX GUIX窗口任意位置绘制2D图形

    mod=viewthread&tid=98429 第13章 ThreadX GUIX窗口任意位置绘制2D图形 本章节为大家讲解GUIX窗口任意位置绘制2D图形。...新调整的界面效果如下: 文本控件和按钮控件以外的区域,我们都可以做2D绘制。...13.3 GUIX的2D绘制实现 在GUIX Studio上设置好绘图函数名后,剩下就是在程序里面实现2D绘制,这里把实现方法为大家做个说明。...gx_utility_rectangle_define 定义一个矩形框,后续的2D绘制函数都是在这个矩形范围内绘制的,此函数的后四个参数是左上角位置和右下角位置。...13.6 总结 本章节主要为大家讲解了GUIX窗口任意位置绘制2D图形,推荐大家设置不同的参数看效果,熟练掌握这些函数的用法,这样用起GUIX也得心应手。

    78120

    【STM32H7】第13章 ThreadX GUIX窗口任意位置绘制2D图形

    mod=viewthread&tid=98429 第13章 ThreadX GUIX窗口任意位置绘制2D图形 本章节为大家讲解GUIX窗口任意位置绘制2D图形。...新调整的界面效果如下: 文本控件和按钮控件以外的区域,我们都可以做2D绘制。...13.3 GUIX的2D绘制实现 在GUIX Studio上设置好绘图函数名后,剩下就是在程序里面实现2D绘制,这里把实现方法为大家做个说明。...gx_utility_rectangle_define 定义一个矩形框,后续的2D绘制函数都是在这个矩形范围内绘制的,此函数的后四个参数是左上角位置和右下角位置。...13.6 总结 本章节主要为大家讲解了GUIX窗口任意位置绘制2D图形,推荐大家设置不同的参数看效果,熟练掌握这些函数的用法,这样用起GUIX也得心应手。

    73350

    速读原著-Android应用开发入门教程(图像、图形、文本的基本绘制)

    9.2 图像、图形、文本的基本绘制 Android 中基本的绘制包括了图像、图形和文本的绘制。...参考示例程序:ApiDemo 的AlphaBitmap(ApiDemo=>Graphics=>AlphaBitmap) 源代码:android/apis/graphics/AlphaBitmap.java...本程序在界面上自上而下一共绘制了 3 个内容,第一个是一个原始位图,第二个是经过变化的位图,第三个是几何图形。...setContentView(new SampleView(this)); // 设置实现中的 SampleView } } SampleView 是其中扩展了 View 的实现,主要的内容在类的构造函数和...3 个位图 } } 第 1 个图是直接对原始的图像进行了绘制;第 2 个图是在原始图像的基础上抽取了透明通道,所以绘制时画笔(Paint)的颜色起到了作用;第 3 个图是调用

    42510

    【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心点与给定中心点对齐 )

    , 是使用 Paint 在 Canvas 中绘制的文本的真实占用区域 , 如下图红色矩形框所在的区域 , 与文本的相对坐标 , 下图的红色矩形框的 右下角是 ( 0 , 0 ) 坐标位置 ; Rect...; left 和 right 值 , 是相对于 左侧的真实值 ; top 和 bottom 值 , 是相对于 文本 基线值的相对值 , top = -31 , 说明文本的顶部在基线上方 31 像素位置...与 给定的中心点对齐 ; 根据中心点位置 : 确定绘制文本的左侧位置 : x - (rect.left + rect.right) / 2 , 绘制的文本 , 是下图红色矩形框的位置 , 文本的位置是不确定的..., 可能在红色矩形框内的任意位置 , 需要借助 Rect 边界确定文本位置 , 确定绘制文本的顶部位置 : y - (rect.top + rect.bottom) / 2 , 绘制的文本 , 是下图红色矩形框的位置..., 文本的位置是不确定的 , 可能在红色矩形框内的任意位置 , 需要借助 Rect 边界确定文本位置 ;

    1.4K20

    【MATLAB】基本绘图 ( 绘制多图 | 设置图形对话框在 Windows 界面的位置和大小 | 在一个图形上绘制多个小图形 )

    3文章目录 一、绘制多图 1、绘制多图 2、代码示例 二、设置图形对话框在 Windows 界面的位置和大小 三、在一个图形上绘制多个小图形 一、绘制多图 ---- 1、绘制多图 存在一种绘图情况 ,...需要同时展示两条曲线 , 但是二者的 x 或 y 轴差距过大 , 需要绘制在两个图中 ; 在绘制每个图前 , 先调用一次 figure , 就会在新的对话框中生成一张新的图形 ; 使用示例如下 :..., 平方函数 figure, plot(x, y1); % 绘制第二个图像 , 指数函授 figure , plot(x, y2) 绘图结果 : 二、设置图形对话框在 Windows 界面的位置和大小..., 宽高都是 500 像素 figure('Position', [0,0,500,500]); % 在指定位置绘制平方函数 plot(x, y1); 绘图效果 : 在屏幕左下角绘制对话框 , 对话框的宽高都是...); axis normal % 在第一行第二列绘制图形, 坐标轴方形 square subplot(2,2,2); plot(x,y); axis square % 在第二行第一列绘制图形, 坐标轴

    7K70

    Draw Text in Deep

    文本测量 文本的测量是非常复杂,因为要适配全球几百种语言不同的排版,除了前面提到的FontMetrics,Android的渲染API还提供了很多测量文本的API。...这个值是系统根据文本的字体和字号自动计算的。当你使用drawText一行行绘制文字的时候,可以在换行的时候获取下一行的baseline坐标。...,一共有三种,LEFT、CETNER和RIGHT,默认值为LEFT,它的作用是在绘制的时候确定绘制的方向,例如设置为LEFT,那么文本绘制的时候,就是从baseline的StartX开始向右绘制文本,如果是...文本的居中绘制 Android中文本的绘制都是使用baseline进行定位的,通过fontMetrics和已知的区域坐标,是可以推算出文字的其它关键坐标的,所以,文本在任意区域的任意位置绘制问题,其实就是一个坐标运算的问题...这个方法在一些自定义文本绘制的场景下比较常用,例如阅读类APP的文字排版,需要在换行的时候动态折断或生成一行新的字符串。 基本使用方式如下所示。

    1.4K30

    Android-2D绘图

    以图形处理来说,我们最常用到的就是在一个View上画一些图片、形状或者自定义的文本内容,这里我们都是使用Canvas来实现的。...---- drawPath方法:绘制任意多边形 【功能说明】该方法用于在画布上绘制任意多边形,通过指定Path对象来实现。在Path对象中规划了多边形的路径信息。...最后,调用drawPath方法来绘制任意多边形。 ? ---- drawArc方法:绘制圆弧 【功能说明】该方法用于在画布上绘制圆弧,通过指定圆弧所在的椭圆对象、起始角度、终止角度来实现。...---- drawText方法:绘制字符串 【功能说明】该方法用于在画布上绘制字符串,通过指定字符串的内容和显示的位置来实现。...---- drawPostText方法:指定位置绘制文本 /** * 在指定的位置绘制文本 * * void drawPosText(char[] text, int

    5.1K20

    揭开Android视图绘制的神秘面纱

    在Android的UI中,View是至关重要的一个组件,它是用户界面的基本构建块。在View的绘制过程中,涉及到很多重要的概念和技术。...在Android中,所有的UI组件都是继承自View类。 View的绘制过程 View的绘制过程可以分为三个阶段:测量、布局和绘制。下面我们将逐一介绍这三个阶段。...布局阶段(Layout) 布局阶段是View绘制过程的第二个重要阶段。在布局阶段,系统会调用View的onLayout方法,将View放置在父容器中的正确位置。...在绘制阶段,系统会调用View的onDraw方法,绘制View的内容。在这个过程中,我们可以使用Canvas对象来绘制各种形状、文本和图片等等。...在绘制过程中,我们使用Paint对象绘制了一段文本。

    26120

    TextView

    在Android中,Span表示一段文本的效果,例如链接形式,图像,带颜色的文本等。 所有的Span类都在android.text.style包中。...super.setSpan(what, start, end, flags); } 第一个参数需要设置一个ClickableSpan对象 第二个和第三个参数表示要设置成Span的某段文本的起始位置和终止位置...从上面的例子中我们可以总结出 设置字符串中的某个子字符串的样式(变成可单击的链接、设置字体等)步骤如下: 将字符串转换成SpannableString或者SpannableBuilder对象 获得要设置样式的子字符串在原字符串中的位置和子字符串后面的字符的位置...在java代码中直接使用Span对象来设置文本样式。...---- 在未显示完的文本后面加省略号(…) 当文本内容太多的时候,控件一行显示不开的时候,系统默认的会在最后显示一个省略号(…) 通过android:ellipsize属性可以设置省略号的位置,当属性值为

    1.6K20
    领券