2011-04-01 82 views
2

我有一个TextView可能很长的文本。此外,文本应该居中时,足够短,不会导致选框效果。TextView与gravity = center和ellipsize = marquee?

这是布局的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为中心。我究竟做错了什么?

编辑:我正在使用Android 2.2。编辑2:当我用(不建议使用)android:singleLine =“true”取代android:lines =“1”时,一切都按预期工作,但这似乎并不是一个理想的解决方案。

+0

任何人都找到了解决方案吗? – DJC 2011-08-18 17:47:25

回答

0

android:lines="1"属性更改为android:inputType="text"。虽然看起来像一个错误。

+0

我试过了,但似乎并不奏效。我可以看到长文本,但不会滚动。 – Froghut 2011-04-01 15:24:04

2

尝试将属性android:line =“1”更改为android:singleLine =“True”。这对我来说可以。