Android开发:真心话大冒险APP及转盘帧动画开发流程
一、 任务要求
主界面:上面左右各一个按钮,分别为启动转盘和抽奖
中间放置一个启动抽奖的转盘图片
功能要求:
1.点击启动转盘按钮,显示转盘动画,并播放抽奖音乐(需要播放的音频文件已经放在res\raw文件夹内),启动转盘按钮点击后变为灰色
2.点击抽奖按钮,转盘动画停止,抽奖音乐停止,显示中奖结果
有三种中奖结果,分别是:真心话、大冒险、无惊无险(用大号红色字体显示在按钮下方)
3.点击菜单,弹出设置选项,点击设置选项,弹出参数设置自定义对话框,进行相关参数的设置
参数设置对话框信息为:
转盘转速: 右边文本框输入1到1000的任意整数, 值越小,转盘的转速越快
真心话概率(0-10):右边文本框输入1到10的任意整数
大冒险概率(0-10):右边文本框输入1到10的任意整数
无惊无险概率(0-10):右边文本框输入1到10的任意整数
真心话,大冒险和无惊无险的总和为数值10,数值表示该项抽中的概率
例如: 2表示20%几率被抽中
设置好后,点击OK按钮,参数设置生效,通过弹幕显示出设置的各项数值信息
二、布局搭建
activity_main.xml:
<RelativeLayout 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="com.example.zhuanpan2.MainActivity" >
<ImageView
android:id="@+id/img_show"
android:layout_width="240dp"
android:layout_height="240dp"
android:layout_below="@+id/btn_start"
android:layout_centerHorizontal="true"
android:layout_marginTop="65dp"/>
<Button
android:id="@+id/btn_start"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/img_show"
android:layout_alignParentTop="true"
android:layout_marginTop="17dp"
android:text="启动转盘" />
<Button
android:id="@+id/btn_lottery"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btn_start"
android:layout_alignBottom="@+id/btn_start"
android:layout_alignRight="@+id/img_show"
android:text="抽奖" />
<TextView
android:id="@+id/result_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_start"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:gravity="center_horizontal"
android:textSize="24sp" />
</RelativeLayout>
三、主活动类代码
package com.example.zhuanpan2;
import java.util.Random;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.AnimationDrawable;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Me