我有一个可能很长文本的TextView。此外,当文本足够短而不会造成字幕效果时,应将文本居中。
这是布局xml:
<TextView
android:id="@+id/TextView01"
android:layout_height="wrap_content"
android:textColor="#000000"
android:gravity="center"
android:textSize="12dp"
android:layout_width="fill_parent"
android:focusable="false" android:lines="1"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="false"
android:ellipsize="marquee"
android:scrollHorizontally="true"></TextView>另外,我使用findViewById(R.id.TextView01).setSelected(true)立即启动字幕。
当文本变得太长时,字幕效果就会消失。显示短文本并正常工作。
当我删除android:gravity="center"时,文本是可见的,并且字幕可以正常工作。但是短文本将不再在TextView中居中。我做错了什么?
编辑:我使用的是Android2.2。
Edit2:当我将android:lines="1“替换为(不推荐使用的) android:singleLine="true”时,一切都按预期工作,但这似乎不是一个理想的解决方案。
发布于 2012-05-02 06:29:16
尝试将属性android:line="1“更改为android:singleLine="True”。它对我来说很好。
发布于 2011-04-01 22:37:21
将android:lines="1"属性更改为android:inputType="text"。虽然看起来像是个bug。
https://stackoverflow.com/questions/5514516
复制相似问题