• (四十六)一个属性动画的经典例子(让TextView中的数值从某一个值变成0再变到另一个值)


    1、demo的结构图

    2、CustomFontPercedntTextView.java的代码

    package com.example.propertyanimation;
    
    import android.content.Context;
    import android.util.AttributeSet;
    import android.widget.TextView;
    
    public class CustomFontPercedntTextView extends TextView {
        private int percentage;
    
        public CustomFontPercedntTextView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
           }
    
        public CustomFontPercedntTextView(Context context, AttributeSet attrs) {
            super(context, attrs);
           }
    
        public CustomFontPercedntTextView(Context context) {
            super(context);
         }
        public int getPercentage() {
            return percentage;
        }
    
        public void setPercentage(int percentage) {
            this.percentage = percentage;
            setText(percentage + "%");
        }
    
    }

    2、MainAcitivity.java的代码

    package com.example.propertyanimation;
    
    import android.animation.AnimatorInflater;
    import android.animation.AnimatorSet;
    import android.animation.ObjectAnimator;
    import android.animation.PropertyValuesHolder;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.animation.LinearInterpolator;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
        private CustomFontPercedntTextView tv_percentage;
    
        private TextView tv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv = (TextView) findViewById(R.id.tv);
    
        }
    
        public void click(View view) {
            tv_percentage = (CustomFontPercedntTextView) this
                    .findViewById(R.id.cftv);
    
            PropertyValuesHolder prvh = PropertyValuesHolder.ofInt("percentage",
                    30, 0, 70);
            ObjectAnimator anim = ObjectAnimator.ofPropertyValuesHolder(
                    this.tv_percentage, prvh);
            anim.setDuration(5000);
            anim.setInterpolator(new LinearInterpolator());
            anim.start();
    
            AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(this,
                    R.animator.property_animator);
            set.setTarget(tv);
            set.start();
        }
    }
  • 相关阅读:
    获取全部校园新闻
    爬取校园新闻首页的新闻的详情,使用正则表达式,函数抽离
    网络爬虫基础
    数据库随笔
    2017.2.10总结
    书籍相关
    全排列和全组合
    面试积累1
    分布式框架学习目标
    mac上设置sudo不要密码
  • 原文地址:https://www.cnblogs.com/fuyanan/p/4301735.html
Copyright © 2020-2023  润新知