Android实例 忐忑的精灵
Posted 明日学院
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android实例 忐忑的精灵相关的知识,希望对你有一定的参考价值。
在android Studio中创建项目,名称为“Animation And Multimedia”,然后在该项目中创建一个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 <LinearLayout
02 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 public class MainActivity extends AppCompatActivity {
02 private boolean flag = true;
03 @Override
04 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 @Override
14 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》,作者:李磊 转载请注明出处!!!
以上是关于Android实例 忐忑的精灵的主要内容,如果未能解决你的问题,请参考以下文章
Android Jetpack Navigation:如何在 OnNavigatedListener 中获取目的地的片段实例?