2016-12-05 57 views
0

目標是在textview中自動水平滾動任何文本。我試圖找到辦法,但最好我的結果是這樣的:XML水平textView自動滾動不起作用(單行棄用)

<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/text_album_artist_title" 
     android:gravity="center" 
     android:text="Single-line text view that scrolls automatically if the text is too long to fit in the widget" 
     android:maxLines="1" 
     android:ellipsize="marquee" 
     android:marqueeRepeatLimit ="marquee_forever" 
     android:focusable="true" 
     android:focusableInTouchMode="true" 
     android:scrollHorizontally="true" 
     /> 

代碼

textViewSongTitleAlbumArtist = (TextView) v.findViewById(R.id.text_album_artist_title); 
    textViewSongTitleAlbumArtist.setSelected(true); 

它的工作原理,文字自動滾動,一切正常,但是當我嘗試更改textview時,它停止工作。 XML是相同的,代碼是不同的:

textViewSongTitleAlbumArtist = (TextView) v.findViewById(R.id.text_album_artist_title); 
    textViewSongTitleAlbumArtist.setSelected(true); 
    textViewSongTitleAlbumArtist.setText(musicSrv.getCurrentPlayingSong().mTitle + " " + 
      musicSrv.getCurrentPlayingSong().mArtist + " " + musicSrv.getCurrentPlayingSong().mAlbum); 

所以我要讓我設置成一個TextView水平滾動,自動任何文本,次數不限。

+0

代碼

textViewSongTitleAlbumArtist.setSelected(true);

嘗試使用'Android版本:內部標籤滾動條= 「水平」'屬性。 –

+0

嘗試過,但沒有成功 –

回答

0

使用下面這段代碼

textViewSongTitleAlbumArtist.setText(musicSrv.getCurrentPlayingSong().mTitle + " " + musicSrv.getCurrentPlayingSong().mArtist + " " + musicSrv.getCurrentPlayingSong().mAlbum);

+0

仍然不起作用 –

+0

也許是因爲文本完全符合可用空間。滾動只發生在沒有空間顯示文本的情況下。 –

+0

不行不行,我加了很長的字符串,不起作用 –