2012-01-25 74 views
1

例如,如果我將TextView的ellipsize值設置爲"marquee",並將marqueeRepeatLimit值設置爲"1"(例如,爲了在TextView中滾動長文本一次),是否有任何方法檢測跑馬燈動畫何時完成? (事情是,我有一個字符串隊列正在被動態添加,我想一次抽出並顯示其中一個字符串。字符串可以比TextView的寬度更長,所以我想要推出它跨越之前,我顯示下一個)可能檢測TextView的選取框動畫何時完成?

編輯:如果這是不可能通過的TextView的字幕屬性要做到這一點,任何人都知道我可以添加一個動畫來模擬一個帳篷一個TextView動畫?

回答

0

據我所知,無法檢測到字幕動畫何時完成,並且即使我在TextView上使用翻譯動畫複製了字幕動畫,也不會直接設置動畫的持續時間正確的時間長度根據TextView中的文字。所以!我現在正在做的,而不是按如下方式使用TextSwitcher ...

<TextSwitcher 
    android:id="@+id/myTextSwitcher" 
    ... 
    android:inAnimation="@anim/fade_in_slow" 
    android:outAnimation="@anim/fade_out_slow" > 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:focusable="true" 
    android:focusableInTouchMode="true" /> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:focusable="true" 
    android:focusableInTouchMode="true" /> 

...並調用myTextSwitcher.setText("text to show next")方法,每隔一段時間使用定時器。不理想,但我可以想出最好的!

1

,而不是字幕只是嘗試上的文字簡單的動畫,也可以定義哪些風格的文本應該移動,以什麼樣的速度和方向。
您可以通過使用「setFillAfter()」方法(在您的案例中顯示默認文本)設置結果顯示在動畫完成後。

+0

是否可以將動畫添加到在TextView中滾動文本(如選取框動畫)並且不移動整個TextView本身的TextView?有關如何實現這一目標的任何鏈接或示例或更多信息? –

+0

當然,您可以根據需要製作動畫。你知道Android中的API演示嗎?在那裏你可以找到代碼來動畫不同風格的文本(實際上是任何東西)。 – akkilis

+0

API演示是一個大型資源。剛纔看了一下,但在TextView中找不到一個動畫文本的例子。你知道我能在哪裏舉個例子嗎? –