实验5 数独游戏界面设计
实验报告
|
课程名称 |
基于Android平台移动互联网开发 |
实验日期 |
2016年4月8日 |
||
|
实验项目名称 |
设计一个简单登陆界面 |
实验地点 |
S3010 |
||
|
实验类型 |
□验证型 √设计型 □综合型 |
学 时 |
4 |
||
|
一、实验目的及要求(本实验所涉及并要求掌握的知识点) |
|||||
|
1目的:实现数独游戏的完整界面设计 2要求:掌握ActionBar的使用 |
|||||
|
二、实验环境(本实验所使用的硬件设备和相关软件) |
|||||
|
(1)PC机 (2)操作系统:Windows XP (3)软件: Eclipse, JDK1.6,Android SDK,ADT |
|||||
|
三、实验内容及步骤 |
|||||
|
1) 导入工程Sodoku 2) 添加以下的Activity类 3) 添加以下layout资源文件 4) 完成设计后,界面运行如下
|
|||||
|
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图) |
|||||
|
代码: menu-actionbar 1 <?xml version="1.0" encoding="utf-8"?> 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" > 3 <group android:id="@+id/group1"> 4 <item android:id="@+id/newgame" 5 android:title="新游戏" 6 android:showAsAction="always"> 7 8 </item> 9 <item android:id="@+id/help" 10 android:title="帮助" 11 android:showAsAction="always"> 12 13 </item> 14 <item android:id="@+id/about" 15 android:title="关于" 16 android:showAsAction="always"> 17 18 </item> 19 <item android:id="@+id/clock" 20 android:title="时钟" 21 android:actionLayout="@layout/clock" 22 android:showAsAction="always"> 23 24 </item> 25 </group> 26 27 28 </menu> 1 package com.example.sukodu;
2
3 import android.annotation.SuppressLint;
4 import android.app.ActionBar;
5 import android.app.Activity;
6 import android.content.Intent;
7 import android.media.MediaPlayer;
8 import android.os.Bundle;
9 import android.view.Menu;
10 import android.view.MenuItem;
11 import android.view.View;
12 import android.view.View.OnClickListener;
13 import android.widget.Button;
14
15 public class HelpActivity extends Activity {
16
17 Button btnMusics, btnPause, btnStop;
18 MediaPlayer mplayer;
19 boolean start = true;
20
21 @SuppressLint("NewApi")
22 public void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.help);
25 ActionBar abar = getActionBar();
26 btnMusics = (Button) findViewById(R.id.help_sourcemusic);
27 btnPause = (Button) findViewById(R.id.help_pause);
28 btnStop = (Button) findViewById(R.id.help_stop);
29 abar.setDisplayShowHomeEnabled(true);
30 abar.setDisplayHomeAsUpEnabled(true);
31 btnPause.setOnClickListener(new OnClickListener() {
32
33 @Override
34 public void onClick(View v) {
35 // TODO Auto-generated method stub
36 if (mplayer.isPlaying()) {
37 mplayer.pause();
38 }
39 }
40 });
41 btnStop.setOnClickListener(new OnClickListener() {
42
43 @Override
44 public void onClick(View v) {
45 // TODO Auto-generated method stub
46 if (mplayer.isPlaying()) {
47 mplayer.stop();
48 start = true;
49 }
50
51 }
52 });
53 btnMusics.setOnClickListener(new OnClickListener() {
54
55 @Override
56 public void onClick(View arg0) {
57 // TODO Auto-generated method stub
58 if (mplayer == null || start) {
59 mplayer = new MediaPlayer();
60 mplayer = MediaPlayer.create(HelpActivity.this,
61 R.raw.nanshannan);
62 mplayer.start();
63 start = false;
64 } else if (mplayer != null) {
65 mplayer.start();
66 }
67 }
68 });
69 }
70
71 @Override
72 public boolean onCreateOptionsMenu(Menu menu) {
73 // TODO Auto-generated method stub
74 getMenuInflater().inflate(R.menu.actionbar, menu);
75 return super.onCreateOptionsMenu(menu);
76 }
77
78 @Override
79 public boolean onOptionsItemSelected(MenuItem item) {
80 // TODO Auto-generated method stub
81 Intent intent = getIntent();
82 switch (item.getItemId()) {
83 case android.R.id.home: {
84 finish();
85 break;
86 }
87 case R.id.about: {
88 intent.setClass(this, SecondActivity.class);
89 startActivity(intent);
90 finish();
91 break;
92 }
93 case R.id.newgame: {
94 intent.setClass(this, GamesActivity.class);
95 startActivity(intent);
96 finish();
97 break;
98 }
99 default: {
100 break;
101 }
102 }
103 return super.onOptionsItemSelected(item);
104 }
105
106 @Override
107 protected void onDestroy() {
108 // TODO Auto-generated method stub
109 if (mplayer.isPlaying()) {
110 mplayer.stop();
111 }
112 mplayer.release();
113 super.onDestroy();
114 }
115
116 }
main public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
getMenuInflater().inflate(R.menu.actionbar, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
Color co = new Color();
Intent it =new Intent();
switch (item.getItemId()) {
case R.id.red: {
tv.setTextColor(co.RED);
break;
}
case R.id.blue:{
tv.setTextColor(co.BLUE);
break;
}
case R.id.green:{
tv.setTextColor(co.GREEN);
break;
}
case R.id.cancel:{
it.setClass(MainActivity.this, LoginActivity.class);
startActivity(it);
finish();
break;
}
case R.id.bgred:{
llayoutbg.setBackgroundColor(co.RED);
break;
}
case R.id.bggreen:{
llayoutbg.setBackgroundColor(co.GREEN);
break;
}
case R.id.help:{
it.setClass(this, HelpActivity.class);
startActivity(it);
break;
}
case R.id.about:{
it.setClass(this, SecondActivity.class);
startActivity(it);
break;
}
case R.id.newgame:{
it.setClass(this, GamesActivity.class);
startActivity(it);
break;
}
default:{
break;
}
}
return super.onOptionsItemSelected(item);
}
}
运行结果:(截图)
|
|||||
|
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见) |
|||||
|
经过本次的实验,对Android应用程序的结构有了一定的了解,从中懂得了一些安卓界面结构的编写方法,但对于android的具体结构了解还是很表面,日后需要多看,多练编写android程序。 |
|||||
|
实验评语 |
|
||||
|
实验成绩 |
|
指导教师签名: 年 月 日 |
|||







浙公网安备 33010602011771号