[Android] TextSwitcher -- 做什么的
TextSwitcher的Java Doc是这样描述自己的:
Specialized ViewSwitcher that contains only children of type TextView. A TextSwitcher is useful to animate a label on screen. Whenever setText(CharSequence) is called, TextSwitcher animates the current text out and animates the new text in.
由此可知,TextSwitcher:
- 有个TextView子视图
- 在文本更新时,能够让旧文本淡出,新文本淡入,从而呈现平滑切换的动画效果
如何使用TextSwitcher
第1步:在layout中添加TextSwitcher控件
<TextSwitcher
android:id="@+id/ts"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginTop="20dp"
android:layout_weight="1" >
</TextSwitcher>
第2步:为TextSwitcher控件设置工厂(用于生产视图)
mTs.setFactory(new TextSwitcher.ViewFactory() {
@Override
public View makeView() {
final TextView tv = (TextView) LayoutInflater.from(
getApplicationContext()).inflate(R.layout.text, null);
return tv;
}
});
第3步:设置淡入淡出动画
mTs.setInAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), android.R.anim.fade_in));
mTs.setOutAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), android.R.anim.fade_out));
之后,执行mTs.setText(txt)
来切换文本时就会产生如下效果:
注:完整代码在 GitHub
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。