如何获取在多行TextView中未被截断的字符串部分。例如,如果我有“这是一些如您所见相当长的文本”,而TextView会显示“这是一些文本……”,那么我想将第二个字符串放入某个变量中。最简单的方法是什么? 最佳答案 您应该能够通过有效地自己计算省略号字符串来获得它,如下所示:Stringellipsised=TextUtils.ellipsize(textView.getText(),textView.getPaint(),(float)textView.getWidth(),TextUtils.TruncateAt.END).t
我试图在具有多行文本的TextView末尾获取省略号。“...”正在显示,但它位于文本的最后一个空格,其他字符后跟其他字符。如何确保“...”始终位于末尾。参见示例图片XML布局文件是: 最佳答案 我今天遇到了同样的问题。这可能是TextView或TextUtils(方法ellipsize)中的错误。在我的例子中,它是由带有新行的文本引起的。有两种解决方法:只获取第一行:StringlongText="...";Stringbody=newScanner(longText).nextLine();textView.setText(b
我有一个包含两个TextView的LinearLayout。设第一个TextView的文本为“短文本”,第二个TextView的文本为“(s)”。我希望LinearLayout这样显示给用户:[[短文本][(s)]____________]其中____表示空View。现在,如果我将稍长的字符串放入第一个TextView,我希望看到:[[稍长的文本][(s)]__]如果我将更长的字符串放入第一个TextView,我希望看到:[[很长...ng文本][(s)]]但我似乎无法找到一种方法来防止第一个TextView完全排挤第二个TextView,如下所示:[[真的很长……很长的文字]]如何获
我的Activity使用ActionBar.setSubtitle函数来显示当前显示的文件系统位置的完整路径。这意味着接近字幕末尾的子字符串比开头更相关,所以我想我会覆盖ActionBar样式以在开头而不是结尾处省略文本,如下所示:res/values/themes.xml@style/Widget.Holo.ActionBarres/values/styles.xml@style/TextAppearance.Holo.Widget.ActionBar.Subtitlestart当我将它安装到我的ICS设备(NexusS)上时,文本最后仍然(错误地)省略了。如果我修改我的TextAp
在我的应用程序中,我ellipsized我的TextView这样如果文本太大,它会显示...最后使用android:ellipsize="end"。例如文本ABCDEFGHIJKLMNOPQRSTUVWXYZ显示为ABCDEFGHIJ...。但是当文本很小时,比如ABCDEF,它仍然会在末尾显示...,使文本看起来像AB...。我无法修复textview的宽度,因为在其他地方使用相同的textview具有一些不同的宽度要求。我应该怎么做才能让它工作并显示...仅当文本足够大时。 最佳答案 //在你的TextView中同时添加以下属性
我有一个TextView,我正在以编程方式设置maxLines,然后将其设置为android:ellipsize="end"。它部分起作用,但由于某种原因,被截断的文本在4.2.2中的省略号之后继续了几个字符。被截断的是实际文本,而不是新字符。它在2.3.6中也不能正常工作,因为它为每个部分添加了一个带换行符或“\n”的省略号。我没有使用任何自定义字体,我之前看到这引起了问题。这里是我计算和设置最大线的地方:finalTextViewreviewView=(TextView)view.findViewById(R.id.textViewPosition3);ViewTreeObserv
在某些Android设备上(LGGoogleNexus5和AndroidL和M)带有android:ellipsize="marquee"和填充的TextView会导致文本溢出TextView。不过,它出现在TextView的右侧而不是左侧,而填充同时应用于左侧和右侧。它不会分别出现在搭载AndroidK和L的三星GalaxyS3和S6上。我该怎么做才能解决或解决这个问题? 最佳答案 您的问题是Android和alreadyreportedandassigned的错误在Android开源项目上:您的解决方法可能如下所示:因此,我们的
哇SDK,哇...所以我试图在我的TextView(单行)的末尾添加一个椭圆,然后它就会离开屏幕。我读过省略号已损坏(为2.1开发)?谷歌搜索后,似乎每个人都建议将inputType设置为文本,将maxLines设置为1,你会得到一个椭圆。这有两个问题:1)文本超出屏幕,但不是椭圆。我可以看出文本超出了屏幕,因为屏幕边缘只显示了一半字符,但它并没有打印“...”。2)当我在我的TextView上设置了inputType时,单击我的列表项不再有效!单击时不会突出显示,并且不会触发onListItemClick处理程序!所以...我可以在这里做什么?我想指出,有两种椭圆的方法。如果整个单词
在我的三星GalaxyNexus上,行为正常,它显示三个点,但在三星S2中,它只显示一个点。只有一个布局文件:这是例子:http://img109.imageshack.us/img109/5118/96452147.png有没有人看过这个? 最佳答案 无法保证文本将如何被省略(如果你问我,单个点有点误导,但它可以被解释为缩写)。如果您想确保“三点”行为,您可以自由地子类化TextView并添加您的自定义行为。可以看一个例子onthisSOquestion(只是不要理会代码的“多行”部分)。长话短说,省略号的单个点应该不是问题。
我需要在(自定义View的)Canvas上绘制文本,并且需要先将其修剪到最大宽度,必要时在末尾添加省略号。我看到您可以为TextView执行此操作,但我想在自定义View的onDraw()中执行此操作,而不必添加subview。这可能吗?我知道我可以测量字符串,切掉一个字符,再次测量,等等,直到它的大小合适……我相信还有更有效的方法……但我想避免重新发明如果可以的话,那个轮子。 最佳答案 看看TextUtils.ellipsize().我认为这正是你想要的。基本上,您只需告诉它可用空间的大小,然后使用其他状态信息,它就会为您创建正确