[英]How to animate a substring in Android?
我想知道,是否有办法在Android中为子字符串设置动画?
假设我有一个字符串“我有3个苹果”。
我只想对字符串的数字部分进行动画处理,例如放大或放大文本视图。
我建议使用SpannableStringBuilder和ValueAnimator作为文本大小。
String text = "your string";
String animTarget = "animation target");
final SpannableStringBuilder sBuilder = new SpannableStringBuilder(text);
int index = text.indexOf(animTarget);
float size;
RelativeSizeSpan textSize;
TextView view;
ValueAnimator animator = ValueAnimator.ofFloat(startingTextSize, endingTextSize);
animator.setDuration(duration);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
size = (float) animation.getAnimatedValue();
textSize = new RelativeSizeSpan(size);
sBuilder.setSpan(textSize, // Span to add
index, // Start of the span (inclusive)
index+1, // End of span
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE // Do not extend);
view.setText(sBuilder)
}
});
)
基本思路。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.