анимация размера текста TextView - PullRequest
9 голосов
/ 06 октября 2011

Я хочу иметь возможность делать текстовую анимацию и изменять размер текста в TextView.Я читал, что в Android есть анимация свойств, но если кто-то знает простой код, который может сделать это для меня или пример где-то, я буду очень признателен.Заранее спасибо!

Ответы [ 4 ]

17 голосов
/ 06 октября 2011

scale.xml

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
          android:fromXScale="1.0"
          android:fromYScale="1.0"
          android:toXScale="2.0"
          android:toYScale="2.0"
          android:duration="3000"></scale>
</set>

Функция в Activity:

private void RunAnimation() 
{
    Animation a = AnimationUtils.loadAnimation(this, R.anim.scale);
    a.reset();
    TextView tv = (TextView) findViewById(R.id.firstTextView);
    tv.clearAnimation();
    tv.startAnimation(a);
}

извлечено и изменено из здесь

6 голосов
/ 04 января 2012
Animation animation=new TranslateAnimation(0,480,0,0); 
animation.setDuration(5000);
animation.setRepeatMode(Animation.RESTART);
animation.setRepeatCount(Animation.INFINITE);
text.startAnimation(animation);
// applying animation to textview object..

Если вы используете событие кнопки для показа анимации, поместите код внутри onClick (), в противном случае используйте метод переопределения onWindowFocusChanged (boolean hasFocus) для запуска анимации

4 голосов
/ 25 января 2017

Использование класса ValueAnimator в андроиде

final float startSize = o; // Size in pixels
    final float endSize = 30;
    final int animationDuration = 1000; // Animation duration in ms

    ValueAnimator animator = ValueAnimator.ofFloat(startSize, endSize);
    animator.setDuration(animationDuration);

    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            float animatedValue = (float) valueAnimator.getAnimatedValue();
            tv.setTextSize(animatedValue);
        }
    });

    animator.start();

см. Ссылку ValueAnimator

Другое решение заключается в применении масштабной анимации к Textview или его родительскому макету

ScaleAnimation scaleAnimation = new ScaleAnimation(0.7f, 1.1f, 0.7f, 1.1f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f,
                   ScaleAnimation.RELATIVE_TO_SELF, 0.5f);
scaleAnimation.setDuration(600);
viewZoom.startAnimation(scaleAnimation);
3 голосов
/ 06 октября 2011

Как насчет этой ссылки ? В частности масштабные примеры. Он предоставляет исходный код и видео для нескольких различных типов анимации Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...