2017-02-19 10 views
4

Как я могу выделить шасси с помощью MaxLines вместо SingleLine?Marquee using maxLines

Это мой TextView:

<TextView 
    android:text="bla bla bla bla bla bla" 
    android:id="@+id/MarqueeText" 
    android:layout_width="30dp" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:scrollHorizontally="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:freezesText="true"> 

После того как в моем code.java я setSelected мой TextView:

TextView txtView=(TextView) findViewById(R.id.MarqueeText); 
txtView.setSelected(true); 

Проблема android:singleLine устарела, так что я должен использовать вместо android:maxLines но шатёр не работайте с ним.

ответ

1

Вы можете попробовать использовать это:

android:maxLength = "10" 

ИЛИ

После установки android:maxLines="1", вы должны установить ваш inputType тоже. Итак, установите android:inputType="text", и это должно сделать трюк.

+0

мы не можем установить inputType для TextView –

+0

Почему нет? см. эту ссылку https://developer.android.com/reference/android/widget/TextView.html –

2

В XML

<TextView 
    android:text="11111111111111111111111111111111111111111111111111111111111111" 
    android:id="@+id/text_marquee" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:maxLines="1" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    /> 

В Java

((TextView)findViewById(R.id.text_marquee)).setHorizontallyScrolling(true); 
((TextView)findViewById(R.id.text_marquee)).setSelected(true);