Marquee in android

В моем приложении для Android мне нужно непрерывно прокручивать выделенный текст. в моем Xml у меня есть этот код:

<TextView
   android:id="@+id/widget28"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentRight="true"                
   android:singleLine="true"        
   android:ellipsize="marquee"
   android:fadingEdge="horizontal"
   android:marqueeRepeatLimit="marquee_forever"
   android:scrollHorizontally="true"
   android:textColor="#ff4500"
   android:text="Simple application that shows how to use RelativeLayout " />

И в моем исходном коде Java у меня есть:

TextView tv = (TextView )findViewById(R.id.widget28);
tv.setSelected(true);

Теперь моя проблема заключается в том, что этот код работает нормально, и Marquee работает нормально, даже если фокус не на элемент управления, а прокрутка текста не завершено. Мне нужно, чтобы текст прокручивался полностью. Если я добавляю пространство к тексту как до, так и после текста, он работает нормально, но это не очень хорошее программирование. Есть ли хороший способ для этого?

1
задан Janusz 19 August 2010 в 12:46
поделиться

3 ответа

Ребята, TextView прокручивает свой текст ТОЛЬКО когда он сфокусирован. Как только он теряет фокус, прокрутка текста прекращается.

0
ответ дан 2 September 2019 в 22:00
поделиться

Я не понимаю вашей проблемы.

Я скопировал ваш код и вставил TextView в RelativeLayout с fill_parent для двух осей, и он отлично работает (это не то, что вы хотите?):

alt text

Я тестировал этот код на эмуляторах по умолчанию 2.1 и 2.2. Нет проблемы.

Вот мой класс:

public class TextViewMarquee extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.textview);
        findViewById(R.id.widget28).setSelected(true);
    }
}

И связанный с ним xml:

 <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/widget28"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:ellipsize="marquee"
        android:fadingEdge="horizontal"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:text="Simple application that shows how to use RelativeLayout"
        android:textColor="#ff4500" />
</RelativeLayout>

И на самом деле все, никаких загадочных строк в манифесте или стиле или ...

0
ответ дан 2 September 2019 в 22:00
поделиться

попробуйте это ::

<TextView
 android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentRight="true"                
   android:singleLine="true"        
   android:ellipsize="marquee"
   android:fadingEdge="horizontal"
   android:marqueeRepeatLimit="marquee_forever"
   android:scrollHorizontally="true"
   android:textColor="#ff4500"
   android:text="Simple application that shows how to use RelativeLayout " 
   android:focusable="true"
   android:focusableInTouchMode="true" android:freezesText="true"></TextView>
0
ответ дан 2 September 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: