Android帧动画
来源:互联网 发布:js 特效的网站 编辑:程序博客网 时间:2024/05/09 04:15
转载请标明出处:http://blog.csdn.net/wu_wxc/article/details/50204235
本文出自【吴孝城的CSDN博客】
帧动画其实就是用几张静态的图片依次显示,由于人的“视觉残留”,所以给人一种动画的错觉。下面是帧动画的几个小例子
一
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="cn.wuxiaocheng.anim.MainActivity"> <ImageView android:id="@+id/iv" android:layout_gravity="center" android:layout_width="100dp" android:layout_height="100dp" android:text="Hello World!" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="控制动画" android:layout_gravity="bottom|center"/></FrameLayout>
MainActivity.java
package cn.wuxiaocheng.anim;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends AppCompatActivity { private AnimationDrawable ad; private ImageView iv; private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); btn = (Button) findViewById(R.id.btn); ad = new AnimationDrawable(); //用addFrame向动画中添加帧,后面的参数是毫秒 ad.addFrame(getResources().getDrawable(R.mipmap.img1), 320); ad.addFrame(getResources().getDrawable(R.mipmap.img2), 320); ad.addFrame(getResources().getDrawable(R.mipmap.img3), 320); //循环播放 ad.setOneShot(false); iv.setBackgroundDrawable(ad); btn.setOnClickListener(new View.OnClickListener() { //调用stop()或start()方法停止或开始动画 @Override public void onClick(View v) { if (ad.isRunning()){ ad.stop(); }else { ad.start(); } } }); }}
二
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="cn.wuxiaocheng.anim.MainActivity"> <ImageView android:id="@+id/iv" android:layout_gravity="center" android:layout_width="100dp" android:layout_height="100dp" android:text="Hello World!" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="控制动画" android:layout_gravity="bottom|center"/></FrameLayout>res\drawable\pic_anim.xml
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mipmap/img1" android:duration="320"/> <item android:drawable="@mipmap/img2" android:duration="320"/> <item android:drawable="@mipmap/img3" android:duration="320"/></animation-list>
MainActivity.java
package cn.wuxiaocheng.anim;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends AppCompatActivity { private AnimationDrawable ad; private ImageView iv; private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); btn = (Button) findViewById(R.id.btn); iv.setBackgroundResource(R.drawable.pic_anim); ad = (AnimationDrawable) iv.getBackground(); btn.setOnClickListener(new View.OnClickListener() { //调用stop()或start()方法停止或开始动画 @Override public void onClick(View v) { if (ad.isRunning()){ ad.stop(); }else { ad.start(); } } }); }}
1 0
- Android动画-帧动画
- Android动画--帧动画
- android动画 -- 帧动画 补间动画
- Android动画-帧动画&补间动画
- Android加载动画 旋转动画 、帧动画
- Android动画-帧动画-属性动画
- Android动画_帧动画
- android-帧动画、布局动画
- Android动画一:帧动画
- Android帧动画(WiFi动画)
- Android动画 - AnimationDrawable帧动画
- Android动画之---帧动画
- Android动画(二):帧动画
- Android 动画总结-帧动画
- Android 动画之帧动画
- Android动画之帧动画
- android动画_帧动画
- android 动画 帧动画 FrameAnimation
- 如何使用git命令同步代码到github或提交到多个远程仓库
- 递归:运用递归思想解题
- 【2015ZUFE新生赛网络同步赛B】【水题】秘密改动 大小写变换
- 欢迎使用CSDN-markdown编辑器
- 【2015ZUFE新生赛网络同步赛C】【水题 贪心】boom x乘(y+z)尽可能大
- Android帧动画
- [CSS3] opacity & alpha (rgba)
- 【2015ZUFE新生赛网络同步赛D】【暴力 时间戳】会长爱数学 数字十进制临位乘法循环节长度
- install Mongodb in ubuntu (Linux)
- OpenStack for icehouse的自动化安装脚本——计算节点
- iOS学习笔记--05 KVO
- 【2015ZUFE新生赛网络同步赛E】【水题 c++函数 strstr】伟大先知的教导 子串查询
- AngularJS $http 异步后台无法获取请求参数
- 密码正则表达式和View画线