当前位置: 首页 > 面试题库 >

渲染前如何获取textview的行数?

凤伟泽
2023-03-14
问题内容

如何在 呈现字符串TextView之前获取字符串将占用的行数。

A ViewTreeObserver将不起作用,因为它们仅在呈现后才被触发。


问题答案:

final Rect bounds = new Rect();
final Paint paint = new Paint();
paint.setTextSize(currentTextSize);
paint.getTextBounds(testString, 0, testString.length(), bounds);


现在,将文本的宽度除以TextView的宽度即可得到总行数。

final int numLines = (int) Math.ceil((float) bounds.width() / currentSize);


 类似资料:
  • 我使用了fetch方法向后端发送了一个请求,获取到了返回数据之后 ,该数据是一个对象类型的,我如何批量创建li到该ul中呢?li中要对应对象的属性 后端数据格式

  • 本文向大家介绍Android TextView预渲染研究,包括了Android TextView预渲染研究的使用技巧和注意事项,需要的朋友参考一下 Android中的TextView是整个framework中最复杂的控件之一,负责Android中显示文本的大部分工作,framwork中的许多控件也直接或者间接的继承于TextView,例如Button,EditText等。其内部实现也相当复杂,单论

  • 问题内容: 我有一个React组件,需要 在渲染之前 预先知道其尺寸 。 当我在jquery中制作一个小部件时,我可以在构建组件时提前获取容器的宽度。 这些容器的尺寸以及页面上的许多其他容器均在CSS中定义。谁在React中定义组件的高度,宽度和位置?我已经习惯了CSS做到这一点并且能够访问它。但是在React中,似乎我只能在组件渲染后访问该信息。 问题答案: 如前所述,在将元素呈现为DOM之前,

  • getStats()api提供当前正在下载的变体。有没有办法 要获取当前的渲染变量 这两个都有hls.js.

  • 抓取前端渲染的页面 随着AJAX技术不断的普及,以及现在AngularJS这种Single-page application框架的出现,现在js渲染出的页面越来越多。对于爬虫来说,这种页面是比较讨厌的:仅仅提取HTML内容,往往无法拿到有效的信息。那么如何处理这种页面呢?总的来说有两种做法: 在抓取阶段,在爬虫中内置一个浏览器内核,执行js渲染页面后,再抓取。这方面对应的工具有Selenium、H

  • 问题内容: 我有一个react组件,需要 在渲染之前 预先知道其尺寸 。 当我在jquery中制作一个小部件时,我可以在构建组件时提前获取容器的宽度。 这些容器的尺寸以及页面上的其他许多容器都在CSS中定义。谁在React中定义组件的高度,宽度和位置?我已经习惯了CSS并能够访问它。但是在React中,似乎我只能在组件渲染后访问该信息。 问题答案: 如前所述,在将元素呈现为DOM之前,您无法获得任