是否可以检测文本视图的选框动画何时完成?



例如,如果我将TextView的ellipsize值设置为"marquee",将marqueeRepeatLimit值设置为"1"(为了在TextView上滚动一次长文本),有什么方法可以检测字幕动画何时完成吗?

(问题是,我有一个正在动态添加的字符串队列,我想一次拉出并显示其中一个字符串。一个字符串可能比TextView的宽度长,所以我想在显示下一个字符串之前滚动它。)

编辑:如果使用TextView的字幕属性无法做到这一点,有人知道我如何将动画添加到模拟字幕动画的TextView中吗?

您可以定义文本应该以何种样式移动,以何种速度和方向移动,而不是在文本上尝试简单的动画
您可以使用"setFillAfter()"方法将结果设置为在动画完成后显示(在您的情况下显示默认文本)。

据我所知,不可能检测到字幕动画何时完成,即使我在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" />

并且每隔一段时间使用定时器来调用CCD_ 5方法。不理想,但我能想到的最好的!

最新更新