Androidのトリッキーパンダ--------フレームアニメーションプロジェクト

1、プロジェクト:

2、XMLのレイアウトコード:以下のように2つのファイルのメインページactivity_main、ヘルプページactivity_help、特定のコードで構成されています。

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/bg_rl"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/bg">

    <ImageView
        android:id="@+id/panda_iv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@mipmap/chi0000" />
    <!--android:onClick="dance"-->
    <ImageView
        android:id="@+id/dance_iv"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="40dp"
        android:background="@mipmap/btn_dance_normal" />

    <ImageView
        android:id="@+id/tip_iv"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentRight="true"
        android:layout_marginTop="40dp"
        android:layout_marginRight="20dp"
        android:background="@mipmap/btn_tip_normal" />

    <ImageView
        android:id="@+id/help_iv"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_centerVertical="true"
        android:layout_marginLeft="20dp"
        android:background="@mipmap/help" />

    <ImageView
        android:id="@+id/touch_iv"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="20dp"
        android:background="@mipmap/btn_kick_normal" />

    <ImageView
        android:id="@+id/sleep_iv"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentBottom="true"
        android:layout_marginLeft="20dp"
        android:layout_marginBottom="40dp"
        android:background="@mipmap/btn_sleep_normal" />

    <ImageView
        android:id="@+id/eat_iv"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_marginRight="20dp"
        android:layout_marginBottom="40dp"
        android:background="@mipmap/btn_eat_normal" />
</RelativeLayout>

 

activity_help.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/helpbk">
    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:text="帮助"
        android:textColor="#FFF"
        android:textSize="40sp" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/title"
        android:layout_margin="20dp"
        android:layout_marginTop="26dp"
        android:text="欢迎来到整蛊熊猫"
        android:textColor="#FFF"
        android:textSize="30sp" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_margin="20dp"
        android:text="作者:BlueZ"
        android:textColor="#FFF"
        android:textSize="24sp" />
</RelativeLayout>

3、drawable目录下创建动画文件dance_anim.xml、eat_anim.xml、sleep_anim.xml、tip_anim.xml、touch_anim.xml,具体代码如下:

dance_anim.xml:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--
        animation-list:帧动画
            item:每一帧
                drawable:每一帧引用的图片
                duration:一帧图片播放的时间  单位ms
    -->
    <item
        android:drawable="@mipmap/tiaowu0000"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0002"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0004"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0006"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0008"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0010"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0012"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0014"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0016"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0018"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0020"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0022"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0024"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0026"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0028"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0030"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0032"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0034"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0036"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0038"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0040"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0042"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0044"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0046"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0048"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0050"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0052"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0054"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0056"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0058"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0060"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0062"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0064"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0066"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0068"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0070"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0072"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0074"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0076"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0078"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0080"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0082"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0084"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0086"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0088"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0090"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0092"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0094"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0096"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0098"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0100"
        android:duration="200" />
    <item
        android:drawable="@mipmap/tiaowu0101"
        android:duration="200" />
</animation-list>

 

eat_anim.xml:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--
        animation-list:帧动画
            item:每一帧
                drawable:每一帧引用的图片
                duration:一帧图片播放的时间  单位ms
    -->
    <item
        android:drawable="@mipmap/chi0000"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0002"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0004"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0006"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0008"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0010"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0012"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0014"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0016"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0018"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0020"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0022"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0024"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0026"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0028"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0030"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0032"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0034"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0036"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0038"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0040"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0042"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0044"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0046"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0048"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0050"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0052"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0054"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0056"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0058"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0060"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0062"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0064"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0066"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0068"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0070"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0072"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0074"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0076"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0078"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0080"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0082"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0084"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0086"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0088"
        android:duration="200" />
    <item
        android:drawable="@mipmap/chi0089"
        android:duration="200" />
</animation-list>

 

sleep_anim.xml:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--
        animation-list:帧动画
            item:每一帧
                drawable:每一帧引用的图片
                duration:一帧图片播放的时间  单位ms
    -->
    <item
        android:drawable="@mipmap/dadun0000"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0002"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0004"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0006"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0008"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0010"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0012"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0014"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0016"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0018"
        android:duration="200" />
    <item
        android:drawable="@mipmap/dadun0019"
        android:duration="200" />
</animation-list>

 

tip_anim.xml:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--
        animation-list:帧动画
            item:每一帧
                drawable:每一帧引用的图片
                duration:一帧图片播放的时间  单位ms
    -->
    <item
        android:drawable="@mipmap/zuoyi0000"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0002"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0004"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0006"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0008"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0010"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0012"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0014"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0016"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0018"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0020"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0022"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0024"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0026"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0028"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0030"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0032"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0034"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0036"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0038"
        android:duration="200" />
    <item
        android:drawable="@mipmap/zuoyi0039"
        android:duration="200" />
</animation-list>

 

touch_anim.xml:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--
        animation-list:帧动画
            item:每一帧
                drawable:每一帧引用的图片
                duration:一帧图片播放的时间  单位ms
    -->
    <item
        android:drawable="@mipmap/moduzi0000"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0002"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0004"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0006"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0008"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0010"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0012"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0014"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0016"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0018"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0020"
        android:duration="200" />
    <item
        android:drawable="@mipmap/moduzi0021"
        android:duration="200" />
</animation-list>

 

4、Java代码包含两个Activity,其中MainActivity是主页面,HelpActivity是帮助页面,具体代码如下:

MainActivity:

package com.qianfeng.kungfupanda;

import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.AnimationDrawable;
import android.media.AudioManager;
import android.media.Image;
import android.media.SoundPool;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.Toast;

import java.util.HashMap;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private RelativeLayout bgRl;
    private ImageView pandaIv;
    private ImageView danceIv;
    private ImageView tipIv;
    private ImageView helpIv;
    private ImageView touchIv;
    private ImageView sleepIv;
    private ImageView eatIv;

    private Handler handler;

    private SoundPool soundPool;

    private HashMap<Integer, Integer> map;

    //    重写父类onCreate    一种把以前家具全部扔掉    买一些新的家具
    @Override
    protected void onCreate(Bundle savedInstanceState) {
//        调用父类onCreate方法
        super.onCreate(savedInstanceState);
//        XML解析  加载布局
        setContentView(R.layout.activity_main);
//        alt+enter
        initView();
        initData();
        setClickListener();
    }

    /**
     * 初始化数据
     */
    private void initData() {
        map = new HashMap<>();
//        handler原理
        handler = new Handler();
//        maxStream 流的最大数量  StreamType:流的类型 游戏应用通常使用AudioManager.STREAM_MUSIC  srcQuality:使用0作为默认值
        soundPool = new SoundPool(7, AudioManager.STREAM_MUSIC, 0);
//        转载声音到声音池对象中(Context:this ,resId:R.raw.dacnce,priority:1)
        map.put(1, soundPool.load(this, R.raw.dance, 1));
        map.put(2, soundPool.load(this, R.raw.gxfc, 1));
        map.put(3, soundPool.load(this, R.raw.touchbody, 1));
        map.put(4, soundPool.load(this, R.raw.snooze, 1));
        map.put(5, soundPool.load(this, R.raw.chow, 1));
        map.put(6, soundPool.load(this, R.raw.guijiao, 1));
        map.put(7, soundPool.load(this, R.raw.guijiao2, 1));
    }

    /**
     * 点击事件
     */
    private void setClickListener() {
//        点击监听事件的第一种写法
//        danceIv.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
////              Java三大特性:封装  继承  多态
//                Toast.makeText(MainActivity.this, "点击了跳舞按钮", Toast.LENGTH_LONG).show();
//            }
//        });
//        点击监听事件的第二种写法
        danceIv.setOnClickListener(this);
        tipIv.setOnClickListener(this);
        helpIv.setOnClickListener(this);
        touchIv.setOnClickListener(this);
        sleepIv.setOnClickListener(this);
        eatIv.setOnClickListener(this);
    }

    //    第三种写法
//    public void dance(View view) {
//        Toast.makeText(MainActivity.this, "点击了跳舞按钮", Toast.LENGTH_LONG).show();
//    }

    /**
     * 初始化View
     */
    private void initView() {
        bgRl = findViewById(R.id.bg_rl);
        pandaIv = findViewById(R.id.panda_iv);
        danceIv = findViewById(R.id.dance_iv);
        tipIv = findViewById(R.id.tip_iv);
        helpIv = findViewById(R.id.help_iv);
        touchIv = findViewById(R.id.touch_iv);
        sleepIv = findViewById(R.id.sleep_iv);
        eatIv = findViewById(R.id.eat_iv);
    }

    @Override
    public void onClick(View v) {
//        v.getId()  得到当前点击视图的ID
        switch (v.getId()) {
            case R.id.dance_iv:
                startAnim(map.get(1), R.drawable.dance_anim);
                break;
            case R.id.tip_iv:
                startAnim(map.get(2), R.drawable.tip_anim);
                break;
            case R.id.help_iv:
                Log.i("TAG", "HELP");
                Intent intent = new Intent(MainActivity.this, HelpActivity.class);
//                开始跳转页面
                startActivity(intent);
                break;
            case R.id.touch_iv:
                startAnim(map.get(3), R.drawable.touch_anim);
                break;
            case R.id.sleep_iv:
                startAnim(map.get(4), R.drawable.sleep_anim);
                break;
            case R.id.eat_iv:
                startAnim(map.get(5), R.drawable.eat_anim);
                break;
        }
    }

    /**
     * 通用的   用来播放动画使用
     */
    private void startAnim(int soundId, int resId) {
        //                动画刚触发时让所有按钮变为不可点击状态
        danceIv.setClickable(false);
        tipIv.setClickable(false);
        helpIv.setClickable(false);
        touchIv.setClickable(false);
        sleepIv.setClickable(false);
        eatIv.setClickable(false);
//                第一个参数:soundID  通过load返回过来的,咱们保存到了map集合中
//                第二个参数:左声道
//                第三个参数:右声道
//                第四个参数:优先级
//                第五个参数:是否循环  0:不循环   -1:永久循环
//                第六个参数:rate:速率   1:正常速度    范围:0.5~2
        soundPool.play(soundId, 1, 1, 0, 0, 1);
        Log.i("TAG", "跳舞");
//                将图片改成动画
        pandaIv.setBackgroundResource(resId);
//                向下转型(多态的一种体现)
        AnimationDrawable animationDrawable = (AnimationDrawable) pandaIv.getBackground();
//                设置动画只播放一次
        animationDrawable.setOneShot(true);
//                播放帧动画
        animationDrawable.start();

//                获取动画播放总时间
        int time = 0;
//                animationDrawable.getNumberOfFrames()得到动画的所有帧数
        for (int i = 0; i < animationDrawable.getNumberOfFrames(); i++) {
//                    animationDrawable.getDuration(i)
            time += animationDrawable.getDuration(i);
        }
//                借助handler实现延时执行某段代码
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
//                动画执行完毕之后回到初始状态
//                        pandaIv.setBackgroundResource(R.mipmap.chi0000);
//                        让按钮动画播放完毕之后重新变为可点击状态
                danceIv.setClickable(true);
                tipIv.setClickable(true);
                helpIv.setClickable(true);
                touchIv.setClickable(true);
                sleepIv.setClickable(true);
                eatIv.setClickable(true);
                pandaIv.setBackgroundResource(R.mipmap.timg);
                soundPool.play(map.get(7), 1, 1, 0, 0, 1);
            }
        }, time);
    }
}

 

HelpActivity:

package com.qianfeng.kungfupanda;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class HelpActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_help);
    }
}

 

6、AndroidManifest.xml文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.qianfeng.kungfupanda">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/qq"
        android:label="QQ"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <!--注册Activity-->
        <activity android:name=".HelpActivity">

        </activity>
        <activity android:name=".MainActivity">
            <!--设置启动页-->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

 

 

7、具体图片跟音频可参考本人上传代码资源文件

おすすめ

転載: blog.csdn.net/weixin_40903057/article/details/93842255