Android 可检测文本视图';s字幕动画已经完成?

Android 可检测文本视图';s字幕动画已经完成?,android,android-layout,textview,android-view,Android,Android Layout,Textview,Android View,例如,如果我将TextView的省略值设置为“marquee”,将MarqueerPeatLimit值设置为“1”(以便在TextView上滚动一次长文本),是否有任何方法可以检测字幕动画何时完成 (问题是,我有一个动态添加到的字符串队列,我想一次拉出并显示其中一个字符串。一个字符串可能比TextView的宽度长,所以我想在显示下一个字符串之前滚动它。) 编辑:如果无法使用TextView的选框属性进行编辑,有人知道如何将动画添加到模拟选框动画的TextView吗 不要选框,只需在文本上尝试简单

例如,如果我将TextView的
省略
值设置为
“marquee”
,将
MarqueerPeatLimit
值设置为
“1”
(以便在TextView上滚动一次长文本),是否有任何方法可以检测字幕动画何时完成

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

编辑:如果无法使用TextView的选框属性进行编辑,有人知道如何将动画添加到模拟选框动画的TextView吗


不要选框,只需在文本上尝试简单的动画,您可以在那里定义文本应以何种样式移动,以何种速度和方向移动。
您可以使用“setFillAfter()”方法设置动画完成后显示的结果(在您的案例中显示默认文本).

不用选框,只需在文本上尝试简单的动画,就可以定义文本应以何种样式移动,以何种速度和方向移动。
可以使用“setFillAfter()”方法(在本例中显示默认文本)设置动画完成后显示的结果。

据我所知,无法检测选框动画何时完成,即使我使用TextView上的平移动画复制了选框动画,根据TextView中的文本将动画的持续时间设置为正确的时间长度也不容易。所以我现在做的是使用一个文本切换器,如下所示

<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”)
方法。不理想,但我能想出最好的

据我所知,无法检测字幕动画何时完成,即使我在TextView上使用平移动画复制字幕动画,根据TextView中的文本将动画的持续时间设置为正确的时间长度也不容易。所以我现在做的是使用一个文本切换器,如下所示

<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”)
方法。不理想,但我能想出最好的

是否可以向TextView添加一个动画,该动画在TextView中滚动文本(如字幕动画),并且不会移动整个TextView本身?有关于如何实现这一点的链接、示例或其他信息吗?当然,您可以根据需要设置动画。你知道Android中的API演示吗?在那里,您可以找到用不同样式制作文本动画(实际上是任何内容)的代码。API演示是一个很大的资源。刚才查看了一下,但在TextView中找不到设置文本动画的示例。你知道我在哪里可以看到一个例子吗?在视图->动画->插值器/PushApiDemos/src/com/example/android/api/view/Animation3.java和Animation2.java中,是否可以将一个动画添加到一个文本视图中,在文本视图中滚动文本(如字幕动画),而不会移动整个文本视图本身?有关于如何实现这一点的链接、示例或其他信息吗?当然,您可以根据需要设置动画。你知道Android中的API演示吗?在那里,您可以找到用不同样式制作文本动画(实际上是任何内容)的代码。API演示是一个很大的资源。刚才查看了一下,但在TextView中找不到设置文本动画的示例。你知道我在哪里可以找到一个例子吗?在视图->动画->插值器/PushApiDemos/src/com/example/android/api/view/Animation3.java和Animation2.java中