簡體   English   中英

如何在Android中為子字符串設置動畫?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM