【Android】实例 忐忑的精灵

来源:互联网 发布:linux终端删除文件夹 编辑:程序博客网 时间:2024/04/28 12:41

在Android Studio中创建项目,名称为“Animation AndMultimedia”,然后在该项目中创建一个Module,名称为“Frame-By-Frame Animation”。在该Module中实现本实例,具体步骤如下。

(1)首先在res\drawable目录中添加一个名称为fairy.xml的XML资源文件,然后在该文件中定义组成动画的图片资源,具体代码如下:

01   <?xml version="1.0" encoding="utf-8"?>02  <animation-list xmlns:android="http://schemas.android.com/apk/res/android">03      <item android:drawable="@drawable/img001" android:duration="60"/>04      <item android:drawable="@drawable/img002" android:duration="60"/>05      <item android:drawable="@drawable/img003" android:duration="60"/>06      <item android:drawable="@drawable/img004" android:duration="60"/>07      <item android:drawable="@drawable/img005" android:duration="60"/>08      <item android:drawable="@drawable/img006" android:duration="60"/>09  </animation-list>

(2)修改新建项目的res\layout目录下的布局文件activity_main.xml,将默认添加的布局管理器修改为垂直线性布局管理器,并且在该布局管理器中将默认添加的TextView组件删除,然后为修改后的线性布局管理器设置android:id和android:background属性。将android:background属性设置为步骤(1)中创建的动画资源,修改后的代码如下:

01   <LinearLayout02       android:id="@+id/linearLayout"03       xmlns:android="http://schemas.android.com/apk/res/android"04       xmlns:tools="http://schemas.android.com/tools"05       android:layout_width="match_parent"06       android:layout_height="match_parent"07       android:orientation="vertical"08       android:background="@drawable/fairy"09      tools:context="com.mingrisoft.MainActivity">10  </LinearLayout>(3)打开默认创建的MainActivity,在该文件中,首先定义一个私有的布尔型变量flag=true,用于判断开始和停止动画,然后在onCreate()方法中获取垂直线性布局管理器与AnimationDrawable对象,再为布局管理器添加单击事件,最后在onClick()方法中根据flag变量的值来实现动画的开始与停止,具体代码如下:01  publicclass MainActivity extends AppCompatActivity {02      private boolean flag = true;03      @Override04      protected void onCreate(Bundle savedInstanceState){05          super.onCreate(savedInstanceState);06          setContentView(R.layout.activity_main);07          //获取布局管理器08          LinearLayout linearLayout= (LinearLayout) findViewById(R.id.linearLayout);09          //获取AnimationDrawable对象10         final AnimationDrawable anim= (AnimationDrawable)linearLayout.getBackground();11          //为布局管理器添加单击事件12          linearLayout.setOnClickListener(new View.OnClickListener() { 13              @Override14              public void onClick(View v) {15                  if(flag){16                      anim.start();            //开始播放动画17                      flag=false;18                  }else {19                      anim.stop();            //停止播放动画20                      flag=true;21                  }22              }23          });24      }25  }

(4)在AndroidManifest.xml文件的<activity>标记中添加screenOrientation属性,设置其横屏显示,关键代码如下:

android:screenOrientation="landscape"

(5)在工具栏中找到下拉列表框,选择要运行的应用(这里为Frame-By-Frame Animation),再单击右侧的按钮,运行效果如图10.1所示。


图10.1  忐忑的精灵

 

感谢读者朋友对明日科技的支持,如果您对图书中的讲解及光盘源码有任何问题,可以直接登录http://www.mingrisoft.com上的社区进行发贴,把您的问题详细的说明一下,我们的技术人员会在那里给您回复!

本文摘自明日科技出版的《零基础学Android》,作者:李磊 转载请注明出处!!!

原创粉丝点击