如何计算在TextView中看到的字母数?

时间:2017-04-27 14:45:00

标签: java android textview android-widget

全部。我是android开发的新手。现在我正在使用TextView。视情况而定,我设置了不同的文字。但有时文字非常大。例如,我插入这个“abcdefgh_myword”,我在我的小TextView中得到类似“abcdefg”的东西,但我想得到这个“..._ myword”。所以我想计算我看到的(编程)字母的数量,并设置我希望看到的文字。这该怎么做?有什么想法吗?

...

android:ellipsize =“start”不能正常工作...请注意当我收缩宽度时发生的事情我的TextView

enter image description here

enter image description here

<TextView
                android:id="@+id/textView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:ellipsize="start"
                android:gravity="center"
                android:maxLines="1"
                android:text="abcdef1234567" />

有什么想法吗?

4 个答案:

答案 0 :(得分:1)

这可以帮到你

android:ellipsize="start"
android:maxLines="1"

将其添加到XML文件中的TextView

修改

据此:https://aviationweather.gov/adds/dataserver 您必须使用android:singleLine="true",因为end只支持marqueemaxLines

答案 1 :(得分:0)

只有当您知道每个符号的宽度时,才可能这样做。您通常不会这样做,因为字体取决于系统。

您可以使用等宽字体。

答案 2 :(得分:0)

您可能正在寻找Java的字符串length()方法。检查this回答。然后根据需要使用XML中的android:ellipsize="start"setEllipsize(TruncateAt.START);

答案 3 :(得分:0)

除了lidkxx的回答,您还可以在文本视图中调用getText()来获取字符串。

TextView textview = (TextView) findViewById(R.id.your_text_view);
String s = textview.getText();
int letterCount = s.length();