zoukankan      html  css  js  c++  java
  • Frame动画

    程序截图:



    原理:

    其实所谓的帧动画,说白了,就是每隔一段时间显示一张图片.......

    实现步骤如下:

    1、/res/drawable/下放入各种图片(即你要用来制作动画的图片),然后新建一个frame.xml的文件用来决定图片是显示顺序

    frame.xml的代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
         <item
            android:drawable="@drawable/a"
            android:duration="200" />
    
         <item
            android:drawable="@drawable/b"
            android:duration="200" />
         
         <item
            android:drawable="@drawable/c"
            android:duration="200" />
         
         <item
            android:drawable="@drawable/d"
            android:duration="200" />
    
         <item
            android:drawable="@drawable/e"
            android:duration="200" />
         
         <item
            android:drawable="@drawable/f"
            android:duration="200" />
         
    </animation-list>
    


    其中item的写法可以去android官网中查看API。。。。


    2、main.xml

    <?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/iv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/frame"
            />
        
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="开始"
            android:onClick="start"
            />
    
         <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="结束"
            android:onClick="stop"
            />
    </LinearLayout>
    



    3、MainActivity

    package com.njupt.frame1;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.graphics.drawable.AnimationDrawable;
    import android.view.Menu;
    import android.view.View;
    import android.widget.ImageView;
    
    public class MainActivity extends Activity {
    
    	private ImageView iv;
    	private AnimationDrawable ad;
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    	    
    		iv = (ImageView) findViewById(R.id.iv);
    	}
    
    	public void start(View v){
    		ad =  (AnimationDrawable) iv.getBackground();
    		ad.start();
    	}
    	
    	public void stop(View v){
    		ad.stop();
    	}
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
    
    }
    


  • 相关阅读:
    [野外实验] 塞罕坝遥感实验(2020.7-8月)
    [学术论文] 一时兴趣的产出(新型TLS布站策略)被TGRS录用
    c++11 新特性实战 (一):多线程操作
    用 Docker Swarm 来部署 Nebula Graph 集群
    用图机器学习探索 A 股个股相关性变化
    图数据库对比:Neo4j vs Nebula Graph vs HugeGraph
    【程序人生】25岁,一位女程序员的幸运几年
    【开发总结】order by 为什么没有走索引?
    【故障总结】CPU飙升?我写的?
    mysql比现实时间少了八小时
  • 原文地址:https://www.cnblogs.com/pangblog/p/3331375.html
Copyright © 2011-2022 走看看