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

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

文章目录 一、测量文本真实边界 二、文本中心点给定中心点对齐 一、测量文本真实边界 ---- Paint.getTextBounds() 函数原型如下 : public class Paint {..., 并不是绘制该文本坐标 , 是使用 Paint 在 Canvas 中绘制文本真实占用区域 , 如下图红色矩形框所在区域 , 文本相对坐标 , 下图红色矩形框 右下角是 ( 0 , 0..., 百分号等 , 造成了真实文本绘图区域差异 ; 绘图区域 真实文本区域 差异 , 就导致了 文字绘图 不准确 , 不好定位问题 ; 二、文本中心点给定中心点对齐 ---- 给定中心点...( x , y ) ; 绘制文本 , 使得 文本中心点 给定中心点对齐 ; 根据中心点位置 : 确定绘制文本左侧位置 : x - (rect.left + rect.right) / 2 ,...绘制文本 , 是下图红色矩形框位置 , 文本位置是不确定 , 可能在红色矩形框内任意位置 , 需要借助 Rect 边界确定文本位置 , 确定绘制文本顶部位置 : y - (rect.top

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

速读原著-Android应用开发入门教程(文本对齐方式)

9.3 文本对齐方式 在 Android文本绘制可以使用一些效果,其中比较智能方面是可以让文本对齐操作。对齐操作不仅有水平和竖直上对齐问题,甚至可以让文本在曲线路径上实现对齐。...参考示例程序:ApiDemo TextAlign(ApiDemo=>Graphics=>TextAlign) 源代码:android/apis/graphics/TextAlign.java TextAlign..., y, p); canvas.translate(0, DY); p.setTextAlign(Paint.Align.CENTER); // 绘制中对齐文本...x, y, p); canvas.translate(0, DY); p.setTextAlign(Paint.Align.RIGHT); // 绘制右对齐文本...} // 省略部分内容 } 文本对其操作主要通过以下两点来完成: 1.通过画笔(Paint) setTextAlign()函数设置绘制过程中对齐方式。

67700

【实践】VISIO经验(粘附跨线对齐连线文本框调整)

默认开启新创建连接线粘附 在“视图”选项卡上单击“"视觉帮助”组中对话启动器。 在“对齐和粘附”对话框中“常规”选项卡上,在“当前活动”下,选中“粘附”复选框。...可指定形状要与之对齐绘图元素类型。 默认情况下,形状标尺细分线和网格同时对齐。 要更轻松地使形状标尺细分线对齐,请关闭对齐网格。...1,在“视图”选项卡上“视觉帮助”组中,单击对话框启动器。 2,在“常规”选项卡上“当前活动”下,清除“对齐复选框以禁用对齐,或选中“对齐”将其启用。...3,在“对齐目标”下选择想要形状对齐绘图元素,然后单击“确定”。 选择对齐设置应用于绘图中所有形状。 除能够选择形状对齐绘图元素外,还能指定形状和这些元素对齐强度。...如果某个元素对齐强度较低,则形状很容易与附近元素对齐;如果元素对齐强度高,则即使附近有形状可对齐其他元素,形状仍将会趋向该元素对齐

5.9K41

Android从零单排系列三十】《Android布局介绍——RelativeLayout》

对齐方式:RelativeLayout支持多种对齐方式来控制子视图位置,包括父容器对齐(如android:layout_alignParentTop)、与其他视图对齐(如android:layout_toRightOf...:layout_alignParentTop:视图父容器顶部对齐。...android:layout_alignParentBottom:视图父容器底部对齐android:layout_alignParentLeft:视图父容器左侧对齐。...android:layout_alignParentRight:视图父容器右侧对齐android:layout_centerVertical:在垂直方向上将视图居中对齐。...alignWithParent(boolean align):设置是否视图父容器边界对齐。 alignBaseline(int anchor):使视图基线指定视图基线对齐

29830

Android从零单排系列十九】《Android视图控件——CheckBox》

前言 小伙伴们,在上文中我们介绍了Android视图组件videoView,本文我们继续盘点,介绍一下视图控件CheckBox。...三 CheckBox常见方法和属性 常见属性: checked:表示复选框选中状态,可以设置为"true"表示选中,或者"false"表示未选中。 text:设置复选框旁边显示文本内容。...toggle():切换复选框选中状态,如果当前为选中状态则切换为未选中,反之亦然。 setText(CharSequence text):设置复选框旁边显示文本内容。...例如,在Android开发中,你可以通过调用setChecked(true)方法复选框设置为选中状态,通过调用getText().toString()方法获取复选框旁边显示文本内容,以及使用setEnabled...(false)方法复选框设置为不可用状态。

25530

超全Android组件及UI框架

基本属性 XML 属性    说明 android:gravity    设置容器内组件排序方式 android:ignoreGravity    如果设置改属性为 true,忽略 android...右对齐父容器 android:layout_alignParentTop    顶部对齐父容器 android:layout_alignParentBottom    底部对齐父容器 android...根据兄弟组件定位属性 兄弟组件定位就是处于同一层次容器组件 图中组件1,2就是兄弟组件了, 如对于组件2 :android:layout_right = "@id/组件1" 而组件3组件1或组件...RadioButton 只有两个状态,选中未选中,所以也就只有一个属性是最重要,那就是 android:checked android:checked 设置或获取 RadioButton 选中状态...CheckBox 复选框 7.1 常用属性 Android CheckBox (复选框) 继承自 Button ,可以说是只有两种状态按钮 (选中或未选中状态) 可以把多个 CheckBox 放在一起实现同时选中多项

6K30

CompoundButton

这是一个抽象类,目前有的子类有 复选框,单选按钮,开关,切换按钮。 复选框 复选框是一种特定类型双状态按钮,可以选中或取消选中。 单选按钮 单选按钮是两个状态按钮,可以选中也可以取消选中。...切换按钮 选中/未选中状态显示为带有“指示灯”指示器按钮,默认情况下带有文本“ON”或“OFF”。...CompoundButtonXML 属性 android:button Drawable 用于按钮图形(例如,复选框和单选按钮)。 android:buttonTint 应用于按钮图形色调。...void setButtonTintBlendMode(BlendMode tintMode) 指定用于setButtonTintList(android.content.res.ColorStateList...void toggle() 视图选中状态更改为与其当前状态相反状态 CompoundButton受保护方法 void drawableStateChanged() 每当视图状态发生变化以影响显示可绘制对象状态时

2K20

Android widget之CompoundButton

,注册一个回调 toggle() — 视图状态更改为当前状态逆(反向) 子类 CheckBox 复选框:可以选中或取消选中特定类型双状态按钮。...RadioButton 单选按钮:是可以选中或取消选中双状态按钮。当单选按钮被取消选中时,用户可以单击来选中它。 注:单选按钮通常RadioGroup在一起使用。...用户可以来回拖动“拇指”来选择所选择选项,或者只需轻按以切换,就像复选框一样。该text 属性控制交换机标签中显示文本,而 文本off和on文本控制拇指上文本。...) 当开关处于 关闭 状态时使用文本 android:textOn setTextOn(CharSequence) 当开关在 开打 状态时使用文本 android:track setTrackResource...Switch差别不大! 知识不够用?

2.1K20

两位谷歌华人研究员发布首个纯视觉「移动UI理解」模型,四大任务刷新SOTA

他领导开发了下一个 Android 应用程序预测,也是 Android 上在设备上交互机器学习先驱,还开发手势搜索等。...这种元数据使得以前模型相对于纯视觉模型来说更有优势,但视图层次结构数据可访问性是一大难题,对象描述缺失或结构信息对齐不当等问题经常发生。...因为 UI 任务通常屏幕上特定对象或区域有关,模型需要能够聚焦于对象或感兴趣区域,研究人员焦点区域抽取器(Focus Region Extractor)引入到视觉语言模型中,使模型能够根据屏幕上下文聚焦于该区域...实验中, Spotlight 几个基准模型进行了比较:WidgetCaption 使用视图层次结构和每个 UI 对象图像为对象生成文本描述;Screen2Words 使用视图层次结构和屏幕截图以及辅助功能...在下图中,对于窗口标题任务,模型在预测「选择切尔西队」(select Chelsea team)时,左侧复选框用红色边框突出显示,可以从右边注意力热力图中看到,模型不仅学会了注意复选框目标区域,还学会了关注最左边文本

41820

Android开发中获取View视图常用方法小结

本文实例讲述了Android开发中获取View视图常用方法。...分享给大家供大家参考,具体如下: 一、根据WindowManager管理器获得 1)这两种方法在屏幕未显示时候,还是处于0状态,即要在setContentView调用之后才有效。...2)Activity必须如此设置才能获得view宽高 //设置为无标题 requestWindowFeature(Window.FEATURE_NO_TITLE); //设置为全屏模式getWindow...相关内容感兴趣读者可查看本站专题:《Android视图View技巧总结》、《Android图形图像处理技巧总结》、《Android开发入门进阶教程》、《Android调试技巧常见问题解决方法汇总...》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android布局layout技巧总结》及《Android控件用法总结》 希望本文所述对大家Android

63710

Kotlin学习日志(六)控件使用

,那这个程序员也要开除,其次就是登录时候后台数据库进行查询对比,假如没有这个手机号是不是还要先注册呢?...接口实现方式 1.2 复选框CheckBox 1.3 单选按钮RadioButton 1.4 开关按钮Switch 1.5 文本视图TextView 1.6 图像视图ImageView 1.7 文本编辑框...此时函数体代码中还有两个值得注意地方: (1)因为视图View是基本视图类型,并不存在文本属性,所以需要把这个视图对象变量类型转换为按钮Button,然后才能得到按钮对象文本,Kotlin中类型转换通过关键字...(2)由于待显示字符串需要拼接按钮文本,因此需要通过字符串模板表达式"${***} "按钮文本置于该字符串。 2....1.5 文本视图TextView 有没有人觉得TextView很简单呢?但实际并不简单,比如常见文字跑马灯效果,一行文本内容太多,导致无法完全显示,但也不想分行显示,于是就有这个跑马灯效果了。

1.7K30

3个套路带你玩转Excel动态图表!

添加表单控件 全选所有控件(同样按住Ctrl键),利用对齐-左对齐-纵向对齐完成美化表单控件工作。 ?...美化表单控件 (3)控件辅助数据链接 选择控件-单击右键-设置控件格式-单元格链接-导入链接单元格,冰箱链接B30,洗衣机链接B31,依次类推,完成11个控件链接。...年度汇总表 (3)制作柱状图 辅助数据月份隐藏,插入柱状图,修改图表类型,构建组合图表,实际计划两列数据为主坐标轴,差异为次坐标轴。 ?...美化图表 3 数据透视图切片器结合 2010及以上版本Excel中有一个非常强大的人性化工具,就是切片器,当切片器数据透视图在一起时,产生了非常惊艳动态图表效果,非常简单方便。...操作步骤 (1)插入数据透视图 插入-插入数据透视图,可以制作出基本可筛选动态图表。 ? 插入数据透视图 (2)插入切片器 插入-切片器-插入切片器选择筛选字段。 ?

3.7K30

『安卓』安卓开发基础--基本控件

//当然也可以设置成特定大小, //文本文字 android:text="@string/hello_world" //两种方式,直接具体文本或者引用values下面的string.xml里面的元素.../来指定文字对齐方式,可选值有 top、bottom、left、right、center 等 //是否只在一行内显示全部内容 android:singleLine="true" //true或者false...,bold,italic分别为正常,加粗以及斜体,默认为normal //文本显示位置 android:gravity="center" //来指定文字对齐方式,可选值有 top、bottom、left...android:scaleType="fitend" 按比例缩放图片到视图最小边,显示在视图下部分位置 //android:scaleType="fitstart" 把图片按比例扩大/缩小到视图最小边...android:scaleType="fitend" 按比例缩放图片到视图最小边,显示在视图下部分位置 //android:scaleType="fitstart" 把图片按比例扩大/缩小到视图最小边

6.9K20

Android P 中文本特性

现在既然 Android P Beta 3 及最终 API均已推出 ,我们也该深入地探究它究竟有哪些新文本特性。众所周知, TextView 是 Android 视图系统中最关键组件之一。...行高及基线文本对齐 有时设计者提供给开发者布局参数现有的 TextView 属性不完全匹配。...为此,在 Android P 上,我们增加了 lineHeight 属性以设置文本行高,即行顶部底部之间间距(或两个连续基线之间间距)。...设置基线文本对齐 为控制首行及末行基线视图边界之间间距,我们增加了两个新属性: firstBaselineToTopHeight lastBaselineToBottomHeight。...我们持续在文本上投资,以提升 app 用户及开发者体验。

1.5K20

Android开发笔记(三十六)展示类控件

在XML布局文件中实现时,可设置如下属性: gravity : 指定文本对齐方式,一般取值“left|bottom”,表示靠左对齐且靠下对齐。 lines : 指定文本行数。...在代码中实现时,可调用如下方法: setGravity : 设置文本对齐方式。 setLines : 设置文本行数。 setMaxLines : 设置文本最大行数。...setMovementMethod : 设置文本移动方式,一般取值“new ScrollingMovementMethod()”,如不设置无法拉动文本。注意该方法只能在代码中调用。...drawableLeft : 指定文本左边图形。 drawableRight : 指定文本右边图形。 drawablePadding : 指定图形文本间距。...setCompoundDrawablePadding : 设置图形文本间距。 3、对该控件(或视图)截图。需要先设置绘图缓存可用,然后取出该控件绘图缓存完成截图操作。

1.4K30

2014-10-25Android学习------布局处理(-)

上面说很不好理解,继续看下面: android:layout_width="fill_parent"定义当前视图在屏幕上 可以消费宽度,fill_parent即填充整个屏幕宽度 android...":随着文字栏位不同 而改变这个视图宽度或者高度。...带"layout"属性是指整个控件而言,是父控件之间关系,如 layout_gravity 在父控件中对齐方式, layout_margin 是级别相同控件之间间隙等等; 不带"layout..." 属性是指控件中文本格式,如gravity是指文本对齐方式等等,而其中文本格式又受制约于它控件在父控件中属性. 2)线性布局方向设置:android:orientation="";...此时第一个控件宽度若设置成“fill_parent”,后面添加组件都无法看到。因此使用该布局时候要注意设置android:orientation="vertical"。

1.4K40
领券