141 votes

TextView Marquise ne fonctionne pas

J'ai essayé d'utiliser la marquise et sa ne fonctionne pas voici mon code, s'il vous plaît laissez-moi savoir où je vais mal

<TextView
   android:text="lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00 | lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00"
   android:id="@+id/TextView02"
   android:layout_width="200dip"
   android:layout_height="wrap_content"
   android:marqueeRepeatLimit="marquee_forever"
   android:ellipsize="marquee"
   android:singleLine="true"
   android:focusable="true"
   android:inputType="text"
   android:maxLines="1">
</TextView>

je suis à l'aide du kit SDK d'android 2.0.1

299voto

Amith GC Points 1259

travail maintenant :) Le Code ci-dessous

<TextView
    android:text="START | lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00 | lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00 | END"
    android:id="@+id/MarqueeText" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:singleLine="true"
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true" 
    android:paddingLeft="15dip" 
    android:paddingRight="15dip" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:freezesText="true">

92voto

Shardul Points 10371
android:singleLine="true"
android:ellipsize="marquee"

sont les seules qualités requises et le défilement fonctionne même avec des layout_weight défini avec layout_width=0dp

voici un exemple de code:

<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"
            />

Mais ce qui est le plus important, c'est implicitement ou explicitement TextView doit être sélectionné.

Vous pouvez le faire avec:

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

24voto

sajamaum Points 121

Ces attributs doivent être inclus dans l' textview balise afin de permettre le défilement.

Tout le reste est optionnel.

android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="fill_parent"
android:ellipsize="marquee"

22voto

Dulal Points 31

J'ai connu le même problème et cette discussion m'a aidé, je viens de remplacer cette ligne

android:maxLines="1"

avec cette ligne dans le xml

android:singleLine="true"

et ça marche la ligne txtView.setSelected(true); était aussi dans mon activité.

14voto

shihab_returns Points 819

Très Simple code de travail:

Pour l'infini défilement du texte

            <TextView
            android:id="@+id/textView_News_HeadLine"
            style="@style/black_extra_large_heading_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="8dp"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="-1"
            android:singleLine="true"
            android:text="HeadLine: Banglawash To be Continued" />

et vous devriez écrire à partir de votre activité

textView.setSelected(true);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X