带有gravity的textView = center和ellipsize = marquee?

时间:2011-04-01 14:06:28

标签: android layout android-layout textview

我有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为中心。我做错了什么?

编辑:我使用的是Android 2.2。

Edit2:当我用(不推荐的)android:singleLine =“true”替换android:lines =“1”时,一切都按预期工作,但这似乎不是一个理想的解决方案。

2 个答案:

答案 0 :(得分:2)

尝试将android:line =“1”属性更改为android:singleLine =“True”。它对我来说很好。

答案 1 :(得分:0)

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