zoukankan      html  css  js  c++  java
  • 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();
    
                }
            });
    
    
        }
    
    }

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

  • 相关阅读:
    darknet yolo 使用gpu
    Application of Opposition-Based Reinforcement Learning in Image Segmentation
    图像质量评估 (IQA) 论文笔记: Deep Neural Networks for No-Reference and Full-Reference Image Quality Assessment
    论文笔记:DEEP LEARNING FOR MONAURAL SPEECH SEPARATION
    python函数中的参数*args和**kwargs的含义和用法
    论文笔记:DualCNN(结构和细节分别训练)
    pytorch中为Module和Tensor指定GPU
    Pytorch中的torch.gather函数的含义
    Django(其二)
    第六章Django
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7249591.html
Copyright © 2011-2022 走看看