我一直在尝试让文本在 Android 小部件中进行动画处理。具体来说,我希望文本淡入淡出。
我知道这是可能的,因为大多数 Android 手机附带的精灵新闻和天气小部件就是这样做的。但是,我看不到这是如何使用动画师或文本切换器(似乎都不支持)来完成的。
我假设这不是使用警报完成的,因为这对于动画来说似乎完全是矫枉过正。
有谁知道这是怎么做到的?
我一直在尝试让文本在 Android 小部件中进行动画处理。具体来说,我希望文本淡入淡出。
我知道这是可能的,因为大多数 Android 手机附带的精灵新闻和天气小部件就是这样做的。但是,我看不到这是如何使用动画师或文本切换器(似乎都不支持)来完成的。
我假设这不是使用警报完成的,因为这对于动画来说似乎完全是矫枉过正。
有谁知道这是怎么做到的?
您可以为此使用 ViewSwitcher 或 TextSwitcher
<TextSwitcher
android:id="@+id/switcher"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inAnimation="@android:anim/fade_in"
android:outAnimation="@android:anim/fade_out" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hello" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="World" />
</TextSwitcher>
如果您在 textSwitcher 上调用 setText ,它将淡出当前文本并淡入新文本。
您还可以通过编程方式为任何 View 对象启动动画。
Animation fadeIn = AnimationUtils.loadAnimation(getApplicationContext(), android.R.anim.fade_in);
textView.startAnimation(fadeIn);
您可以使用在 xml 文件中定义或以编程方式定义的 Alpha 动画...这是有关动画的文档:http: //developer.android.com/guide/topics/resources/animation-resource.html#alpha-element
您希望动画何时开始?