Бегущая строка не прокручивается в Android

Я хочу использовать функцию выделения в своем приложении для Android и использую этот код для достижения цели:

 <TextView
    android:id="@+id/marqueetext"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:lines="1"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"
    android:text="hello all how are you"
    android:textColor="#ff4500" 
    />

MarqueeText = (TextView)ShowTheMessages.this.findViewById(R.id.marqueetext);
        MarqueeText.setSelected(true);

Я не знаю, почему это не работает. Я просмотрел много связанных сообщений, но не нашел решения. Пожалуйста, помогите мне. Заранее спасибо.


person user1726619    schedule 21.11.2012    source источник


Ответы (3)


измените эту строку и попробуйте...

android:text="hello all how are you hello all how are you hello all how are you hello all how are you"
TextView txtView=(TextView) findViewById(R.id.marqueetext);
txtView.setSelected(true);

 <TextView
    android:id="@+id/marqueetext"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:lines="1"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"
    android:text="hello all how are you hello all how are you hello all how are you hello all how are you"
    android:textColor="#ff4500" 
    />

или другой пример...

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:id="@+id/marqueetext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:lines="1"
        android:ellipsize="marquee"
        android:fadingEdge="horizontal"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:textColor="#ff4500"
        android:text="hello all how are you hello all how are you hello all how are you hello all how are you hello all how are you" />
</RelativeLayout>
person Android    schedule 21.11.2012

android:singleLine="true"
android:ellipsize="marquee"

являются единственными обязательными атрибутами, и прокрутка работает даже с layout_weight, определенным с layout_width=0dp

вот пример кода:

<TextView 
            android:id="@+id/scroller"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="#FFFFFF"
            android:text="Some veryyyyy long text with all the characters that cannot fit in screen, it so sad :( that I will not scroll"
            android:layout_marginLeft="4dp"
            android:layout_weight="3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            />

но наиболее важным является то, что TextView должен быть выбран, что вы уже сделали в своем коде.

надеюсь, это поможет вам.

person Bhavesh Patadiya    schedule 21.11.2012
comment
Я добавил основные атрибуты, и даже сейчас это не работает. - person user1726619; 21.11.2012
comment
Вы добавили android:layout_width=0dp с android:layout_weight=3? - person Bhavesh Patadiya; 21.11.2012

Пытаться

android:singleLine="true"

вместо

android:lines="1"

Это решит вашу проблему.

person Tale    schedule 21.11.2012
comment
спасибо мужик сработало. Однако из xml он устарел, вместо этого я использовал TextView.setSingleLine(true). Большое спасибо - person Alan Deep; 13.11.2017