在文本视图中显示文本,即使对于布局来说太长



我想在文本视图中显示一个动态字符串。此文本视图可以在一定程度上占据一定的长度。有可能让过长的字符串以某种方式贯穿文本视图吗?我的意思是:最初,Textview应该显示尽可能多的字母,但假设5秒钟后,它会慢慢地在孔字符串中迭代。这将使整个文本可读。用户不应该与ui交互。

试试这个:

<TextView
    android:text="aaaa bbbbb  ccccc ddddd eee ffff gggg hhhh iiii jjjjj kkkkkk lllll mmmmm nnnnn oooo aaaa bbbbb  ccccc ddddd eee ffff gggg hhhh iiii jjjjj kkkkkk lllll mmmmm nnnnn oooo aaaa bbbbb  ccccc ddddd eee ffff gggg hhhh iiii jjjjj kkkkkk lllll mmmmm nnnnn oooo" 
    android:singleLine="true" 
    android:ellipsize="marquee"
    android:marqueeRepeatLimit ="marquee_forever"
    android:focusable="true"
    android:focusableInTouchMode="true" 
    android:scrollHorizontally="true"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/>

如果你不想它一遍又一遍地重复,只需删除这行:

android:marqueeRepeatLimit ="marquee_forever"

编辑:

好的,这里有一个快速的解释。您必须将TextViews省略号类型设置为"Marquee"。这将自动将其从左向右滑动。您可以设置它应该重复的次数(如果有的话)。线路

android:marqueeRepeatLimit="YOUR_REPEAT_COUNT_HERE"

设置它将自身重复的次数。

你还需要以下几行字幕才能正常工作:

android:focusable="true"
android:focusableInTouchMode="true"

以下是谷歌TextView Api的链接:http://developer.android.com/reference/android/widget/TextView.html#attr_android%3aellipsize

如果您计划在小布局或UI组件中显示大文本,则全局理解为显示部分文本,即附加"…"的子字符串

例如,如果我有一个18个字符的字符串,而我的UI组件只能显示10个字符,那么我将获得一个由从索引0到第7个字符组成的子字符串,并附加"…"并显示

希望这能帮助

最新更新