• Android-帧动画


    Android-帧动画
    一 帧动画
    又叫做Drawable Animation。就是不同对象之间过渡事件比較快形成的动画,也是动画片的原理

    二 话不多说,看Demo
    以下样例是实现4张图片的切换动画效果。比較简单
    1,在drawable中定义4张图片的xml以及过渡时间

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
        android:oneshot="true">
        <item android:drawable="@drawable/gesture1" android:duration="200"></item>
        <item android:drawable="@drawable/gesture2" android:duration="200"></item>
        <item android:drawable="@drawable/gesture3" android:duration="200"></item>
    </animation-list>

    2,定义显示图片的layout布局

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
    
        <Button
            android:id="@+id/buttonAnimList"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ok" />
    </LinearLayout>

    3。定义主Activity类

    public class MyAnimationListActivity extends Activity
    {
        private AnimationDrawable mAnimationDrawable; 
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            //设置布局文件
            setContentView(R.layout.my_animlist_layout);
            //得到布局的ImageView对象
            ImageView _imageView = (ImageView)findViewById(R.id.imageView);
            //得到ImageView的背景
            _imageView.setBackgroundResource(R.drawable.my_anim_list);
    
            //利用AnimationDrawable来完毕帧动画
            mAnimationDrawable = (AnimationDrawable)_imageView.getBackground();
    
    
            //得到按钮对象
            Button _buttonList = (Button)findViewById(R.id.buttonAnimList);
            //设置点击事件
            _buttonList.setOnClickListener(new OnClickListener()
            {
    
                @Override
                public void onClick(View arg0)
                {
                    // TODO Auto-generated method stub
                    //动画仅仅播放一次,设置为true
                    mAnimationDrawable.setOneShot(true);
                    //动画開始
                    mAnimationDrawable.start();
    
                }
            });
    
    
        }
    
    }

    执行程序,点击按钮。图片相互切换,且仅仅播放一次

  • 相关阅读:
    701. 二叉搜索树中的插入操作
    【ceph | 运维】 部署mgr
    【cpeh | 运维】mon相关命令
    【Leetcode】144. 二叉树的前序遍历
    【Linux】Linux中查看某个软件的安装路径
    【Leetcode】100. 相同的树
    【Leetcode】145. 二叉树的后序遍历
    【Leetcode】94. 二叉树的中序遍历
    redis学习04Redis的主从架构
    RabbitMQ学习02安装与配置(Ubuntu系统)
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7249591.html
Copyright © 2020-2023  润新知