项目简介:
项目设定游戏时间为60秒,在这60秒内,播放音乐,并且给出六张歌手的图片(其中有一张是正确是,其这5张是随机的干扰歌手图片,且每首歌都会随机选5张与正确那张组合),让用户选择当前音乐是哪位歌手唱的,当用户点击了歌手图片,代表用户已出做选择,如果用户选择正确,加10个金币,如果用户选择不正确,则减10个金币,同时刷新界面上的金币数并弹出Toast提示用户增加或减少了10个金币。用户选择完后会切换到下一首音乐,继续播放。然后用户继续选择。只要60秒时间没有耗尽用户可以一直玩,直到所有歌曲都播放完,游戏结束,并弹出对话框,显示总歌曲数以及用户选对了几首,选错了几首,同时该对话框提供了两个按钮,一个是重新玩,一个是退出游戏,用户可以根据自己的喜好进行选择。如果用户选择了重新玩,则和刚打开APP的效果一样,重新计时(有计时进度条),重头播放第一首音乐 ,并且金币清零; 如果用户选择退出游戏,则退出APP。当然60秒的时间在玩的过程中耗尽了,则弹出对话框,告知用户,60秒时间已耗尽,用户同样可以选择重新玩或退出游戏。
项目效果图:
技术实现:
主界面布局:layout------>activity_main.xml
(1)为主界面布局添加背景:
在根布局上,使用android:background属性为其指定一张背景图片即可。我的背景图片名为main_bg.png,存放 在drawable-hdpi目录中。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main_bg" >
</RelativeLayout>
(2)标题栏布局实现:
标题栏的实现非常简单,中简一个标题文字(TextView),右边是显示金币的图标(ImageView)和金币数 (TextView),然后为标题栏添加一个背景就可以了。我的标题背景图片名为title_bg,存放在drawable-hdpi目录 中。至于金币这块的具体实现大家一看代码就明白了。
<RelativeLayout
android:id="@+id/rl_title"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/title_bg" >
<TextView
android:id = "@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="谁是歌手"
android:textColor="#ffffff"
android:textSize="22sp"
android:textStyle="bold" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
androi