Android:如何确定TextView中最后一个完全可见的字母?

Android:如何确定TextView中最后一个完全可见的字母?,第1张

概述我正在努力建立一个图书阅读器.现在我有一个很长的文本填满了整个屏幕,甚至一些文本都在屏幕外.我想知道如何找到屏幕中完全可见的最后一个字母,以便我可以将文本拆分成页面. 例如,之前的所有行 “Bad news, Vernon,” she said…… 是完全可见的文本,剩余的文本必须移动到另一个页面. 像这样(另一页文字以“坏消息”开头) 这是我在上面的例子中使用的布局 <?xml version= 我正在努力建立一个图书阅读器.现在我有一个很长的文本填满了整个屏幕,甚至一些文本都在屏幕外.我想知道如何找到屏幕中完全可见的最后一个字母,以便我可以将文本拆分成页面.

例如,之前的所有行

“Bad news,Vernon,” she saID……

是完全可见的文本,剩余的文本必须移动到另一个页面.

像这样(另一页文字以“坏消息”开头)

这是我在上面的例子中使用的布局

<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:ID="@+ID/activity_main"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:padding="10dp"><TextVIEw    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:text="...some text..." /></relativeLayout>
解决方法 我认为,除非你使用等宽字体,否则预测文本将要结束的位置将是困难/不可能的.信使.但是我没有采用这种方法,而是可以建议的另一种方法是简单地为图书阅读器的每个页面提供一定数量的字符.是的,这意味着使用非等宽字体您将不知道要渲染的确切行数.但是,占用的线数应该在相当紧的范围内,并且很可能不会被用户察觉.

您可以在此处使用ScrollVIEw,其中包含保存每个页面文本的实际TextVIEw.这是一个可能的样子的骨架:

<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:ID="@+ID/activity_main"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:padding="10dp">    <ScrollVIEw        androID:layout_wIDth="fill_parent"        androID:layout_height="wrap_content">        <TextVIEw            androID:layout_wIDth="match_parent"            androID:layout_height="match_parent"            androID:text="...some text..." />    </ScrollVIEw></relativeLayout>

使用ScrollVIEw,用户可以简单地向上和向下拖动以捕获可能不适合单个屏幕的任何内容.同样,这使您不必担心提供确切数量的内容.

总结

以上是内存溢出为你收集整理的Android:如何确定TextView中最后一个完全可见的字母?全部内容,希望文章能够帮你解决Android:如何确定TextView中最后一个完全可见的字母?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126052.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存