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

TextView:获取最后一行末尾的x和y

TextView是Android开发中常用的控件,用于显示文本内容。获取最后一行末尾的x和y坐标可以通过以下步骤实现:

  1. 首先,通过findViewById方法获取到对应的TextView控件对象。
  2. 使用getLayout方法获取TextView的Layout对象,该对象包含了文本的布局信息。
  3. 通过getLineCount方法获取TextView的总行数。
  4. 使用getLineBounds方法获取最后一行的边界信息,该方法需要传入最后一行的行号作为参数。
  5. 最后,通过获取到的边界信息,可以得到最后一行末尾的x和y坐标。

以下是一个示例代码:

代码语言:txt
复制
TextView textView = findViewById(R.id.textView); // 获取TextView对象

Layout layout = textView.getLayout(); // 获取TextView的Layout对象

int lineCount = textView.getLineCount(); // 获取TextView的总行数

int lastLine = lineCount - 1; // 最后一行的行号

int lastLineStart = layout.getLineStart(lastLine); // 最后一行的起始位置
int lastLineEnd = layout.getLineEnd(lastLine); // 最后一行的结束位置

float lastLineX = layout.getPrimaryHorizontal(lastLineEnd); // 最后一行末尾的x坐标
float lastLineY = layout.getLineBottom(lastLine); // 最后一行末尾的y坐标

这样就可以获取到TextView最后一行末尾的x和y坐标了。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/tpns)可以用于实现消息推送功能,适用于移动开发中的通知、提醒等场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

求z=x-y概率密度_XY独立同分布

###Z=X+Y型概率密度求解### @(概率论) Z = g ( X , Y ) Z = g(X,Y) Z=g(X,Y) 总结过一次,一般方法是可以由分布函数再求导得到概率密度,计算一定更要小心才能得到正确解...设随机变量(X,Y)概率密度是: f ( x , y ) = { 3 x , 0 < x < 1 , 0 < y < x , 0 , 其 他 f(x,y) = \begin{cases} 3x,...&0<x<1,0<y<x, \\ 0,&其他 \end{cases} f(x,y)={ 3x,0,​0<x<1,0<y<x,其他​ 求随机变量Z = X-Y概率密度 f Z ( z ) f_Z(z...}f(x,x-z)dx, 0<x<1, 0<x-z<x fZ​(z)=∫−∞+∞​f(x,x−z)dx,0<x<1,0<x−z<x 最好做法是看两个变量互相牵制形成了怎样局面,画图是最佳方法。...现在不是求二重积分而是一重积分,但是可以用二重积分思想:认为是对z积分以后现在再对x积分,因此,x取值是在垂直于z取值范围内画一条红线,穿过阴影区域上下限值,因此是(z,1),这才是真正完整解法

1.6K40

vi中跳到文件一行最后一行

由于vi编辑器不能使用鼠标,所以一个大文件如果要到最后一行只用键盘下键的话会是一个很痛苦过程,还好有各种比较快捷方法归我们使用: 1. vi 编辑器中跳到文件一行:    a 输入 :0 或者...:1 回车    b 键盘按下 小写 gg 2.vi 编辑器跳到文件最后一行:    a 输入 :$ 回车    b 键盘按下大写 G    c 键盘按 shift + g (其实第二种方法一样...) Vim快速移动光标至行首行尾 1、 需要按行快速移动光标时,可以使用键盘上编辑键Home,快速将光标移动至当前行行首。...2、 如果要快速移动光标至当前行行尾,可以使用编辑键End。也可以在命令模式中使用快捷键””(Shift+4)。与快捷键”^”0不同,快捷键””前可以加上数字表示移动行数。...例如使用”1”表示当前行行尾,”2”表示当前行一行行尾。

10.2K40
  • R语言建模入门:如何理解formula中y~.y~x:z含义?

    01 — 如何理解formula中y~.y~x:z含义? y~. y~x:z 是一个简单formula。~ : 是formula中运算符,但它们与通常理解数学运算符存在一定差距。...以下是formula中其他一些运算符含义: ~ :~连接公式两侧,~左侧是因变量,右侧是自变量。 + :模型中不同项用+分隔。注意R语言中默认表达式带常数项,因此估计 只需要写y~x。...- :-表示从模型中移除某一项,y~x-1表示从模型中移除常数项,估计是一个不带截距项过原点回归方程。此外,y~x+0或y~0+x也可以表示不带截距项回归方程。...(←是大写i不是小写L) y~x+I(z^2)含义: y~x+z^2含义: (因为z没法自己交互) 那么,y~x+w+zy~x+I(w+z)有什么区别呢?...y~x+w+z含义: y~x+I(w+z)含义: 可以发现,第二个公式将w+z作为一个整体估计这一变量参数。

    7.8K31

    vim与vi区别,及常用操作,有查找关键词,向上向下翻页,快速跳到一行末尾,设置取消行号,撤销编辑,跳到最后一行,翻页

    区别:vivim都是多模式编辑器,不同是vim 是vi升级版本,它不仅兼容vi所有指令,而且还有一些新特性在里面。...3、语法加亮vim可以用不同颜色来加亮你代码。4、可视化操作就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。...3、语法加亮vim可以用不同颜色来加亮你代码。4、可视化操作就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。...ab vi撤销命令 :u 恢复撤销命令:ctrl+r 显示所有行号:": set nu" 显示当前行号:“:nu” 不显示行号:“:set nonu” 怎么快速跳到一行开头行尾:开头:0...行尾:$行尾:$ 跳到最后一行:gg:命令将光标移动到文档开头 G:命令将光标移动到文档末尾 比如想跳转到文本第12行,可以执行如下命令: (1)12gg / 12G (2):12 (3)打开文件时输入

    3.4K20

    2024-02-28:用go语言,有一个由xy轴组成坐标系, “y下“y上“表示一条无限延伸道路,“y下“表示这个道

    2024-02-28:用go语言,有一个由xy轴组成坐标系, "y下""y上"表示一条无限延伸道路,"y下"表示这个道路下限,"y上"表示这个道路上限, 给定一批长方形,每一个长方形有(x1...像素点是水平或竖直方向连接。 给你两个整数 x y 表示某一个黑色像素位置。 请你找出包含全部黑色像素最小矩形(与坐标轴对齐),并返回该矩形面积。...采用二分查找方法,在给定列col中向右查找,直到找到最后一个出现黑色像素位置。...7.在minArea函数中,调用辅助函数获取左边界、右边界、上边界下边界,并计算矩形面积((right - left + 1) * (down - up + 1))。...8.在main函数中,定义一个示例图片image给定点(x, y),调用minArea函数并将结果打印出来。

    16620

    【直播】我基因组52:XY染色体同源区域探索

    这样X,Y染色体大量同源,说到底是测序片段压根无法准确定位,所以说所谓X,Y染色体是单倍体常识,在这里完全错误。...XY染色体同源区有多少,是哪里问题!...首先下载X,Y染色体fasta序列,在UCSC上面下载即可。 然后把X染色体构建bwa索引。...接着模拟一个Y染色体测序数据,模拟程序很简单,模拟Y染色体测序片段(PE100,insert400)。 最后把模拟测序数据比对到X染色体参考,统计一下比对结果即可! ?...最后找到variation也可以统计一下: 96180个 0/1 181020 个1/1 当然,这里我模拟是4X 数据,所以找到variation不会太准确,但是我模拟精确数据,其实不应该有杂合

    1.9K110

    解析美女出一道状态机题(xyz值)

    如果对象创建之后,事件e2、e1、e3、e4、e1e5按给定顺序发生,请问,事件发生结束后,变量xyz值分别是_______________________。 ?...【答案】 x=-1,y=1,z=0。 【解析】 竞赛题绝大多数题目是我自己出,但本题来自Martina Seidl等所著“UML @ Classroom”。...状态机离开C1,执行C1出口活动z=3,z值变为3。进入C2时,执行C2入口活动y=0,y值变为0。 e4发生,状态机离开C2,执行C2出口活动x=-1,x值变为-1。...先执行C入口活动z++;y=2。z值变为4,y值变为2。然后执行C2入口活动y=0,y值变为0。 e5发生,状态机离开C2,执行C2出口活动x=-1,x值变为-1。...状态机迁移到C终止状态,触发了完成迁移。图上有完成迁移由C指向A。离开C时,执行C出口活动y=1,y值变为1。状态机进入A时,执行A入口活动z=0。因此,最终x=-1,y=1,z=0。

    78410

    2024-06-08:用go语言,给定三个正整数 n、xy, 表示城市中房屋数量以及编号为xy两个特殊房屋。 在这座城市

    2024-06-08:用go语言,给定三个正整数 n、xy, 表示城市中房屋数量以及编号为xy两个特殊房屋。 在这座城市中,房屋通过街道相连。...请返回一个长度为n且从下标1开始数组result, 其中result[k]表示满足上述条件房屋对数量, 即从一个房屋到另一个房屋需要经过最少k条街道。 注意:xy可以相等。...大体步骤如下: 1.快速检查xy大小关系,确保x <= y,若不满足则交换它们值,以便后续计算更简单。 2.初始化一个长度为n空整型数组ans,用于存储结果。...3.检查特殊情况:当xy之间只隔一个房屋时,快速计算出ans数组值。在这种情况下,循环遍历房屋序号,填充ans数组。...总时间复杂度:这段代码中最主要操作是循环遍历房屋,即(O(n))。在每次循环中,对于不同条件,进行一些简单数学计算更新数组操作。因此,总时间复杂度可以近似看作(O(n))。

    7720

    Android中多行文本末尾添加图片排版问题解决方法

    前言 最近在项目中需要在某个多行英文文本末尾增加一个图片,尝试了很多方法,最后用了一个比较Tricky方法解决了,当然这种方法不一定是最好最优解决办法,记录一下。...图片会在TextView右边竖直方向中间位置显示,而不是我们期望最后一行位置显示。...图片确实是放在了最后面,但是英文文本显示出现了凌乱。 原因 实际上最后效果是TextView绘制出来,原因当然是TextView绘制咯。...后面发现如果字符串中包含了空格的话,就会自动以空格位置进行换行。所以解决思路就是按照TextView宽度,计算每一行能够容纳字符个数,在每一行最后插入一个空格,就能解决换行凌乱了。...//获取一行最后一个字符下标 int lineEnd = text.getLayout().getLineEnd(0); //计算每个字符占宽度 float widthPerChar

    2.8K10

    TextView自定义下划线、点击弹框

    TextView设置要划线起始位置结束位置,需要计算出在哪些行进行绘制,每行又是从哪里开始,到哪里结束,注意第一行最后一行。...最后要将计算出小图标的xy值保留,在onTouchEvent中会用到。 并初始化: ? 05 — 计算划线位置 ?...循环所有要绘制集合,得到这一行外包矩形,根据当前行开始结束位置,算出横向x开始结束位置;baseline是字符底部y值,这样就可以绘制划线了! 07 — 绘制笔记图标 ?...如果是最后一行,在本行结束位置开始绘制笔记图标。 使用canvas.drawCircle绘制圆圈,而圆圆形坐标可以下划线最后位置进行绘制。...在上一步绘制小图标时,就将图标的xy值保存,在onTouchEvent中,判断按下位置是否在小图标位置“附近”,是的话就弹框显示笔记内容。

    1.5K30

    详解Android TextView属性ellipsize多行失效解决思路

    本文介绍了Android TextView属性ellipsize多行失效解决思路,分享给大家,具体如下: 多余文字显示省略号常规做法 android:ellipsize=”end” //省略号显示在末尾...无效问题 /** * 字符串显示到textView, textView maxLines=2 * 如果字符串太长显示不下,则用省略号代替 * 省略号位置在第一行末尾 * * @param...width, null); start = end; end = end + count; list.add(str.substring(start, end)); } //第一行文字末尾三个字符替换成省略号..."; //最后一行文字从末尾向前截取一行文字 String endLine = list.get(list.size() - 1); int endLineWidth = (int)...都是api方法,详细见源码 需要完善地方,android设备不同字符显示宽度不同,三个字母替比省略号三个点要宽,m字符比l字符占位要宽,所以上面的方法处理后字符串并不能使省略号显示到第一行末尾

    2.7K30

    matlab自动提取保存在figure里面的xy轴数据(增加了后面漏代码)

    昨天文章发出去才发现少了部分代码遗漏了,今天补上 经常有读者咨询fig文件里面的xy数据如何提取,故分享总结一下这个基础方法,在一些场景下面,对方不会把源代码提供,只会提供一个figure来做交互结果查看...figure plot(x,y) saveas(gcf,'y.fig'); fig文件作为Matlab中图形文件,其实原始数据是会存储在figure对象中,那么通过get函数获取figure对象中相应数据属性...获取fig文件原始数据思路是:先找出figure对象所有axes子对象,再找出每个坐标轴所有line子对象,最后获取每条lineXData、YData、ZData属性,得到原始数据。...3、针对特殊情况处理 3.1 subplotfigure x = 0:0.1:10; y = sin(x); y2 = cos(x) figure subplot(211) plot(x,y) subplot...,同时做好数据对应,对应哪个subplot 3.2 三维图 %% clear clc close all x = 0:0.1:10; y = sin(x); y2 = cos(x) figure

    56810
    领券