代码改变世界

实验5 数独游戏界面设计

2016-04-15 09:54  24郑杨华  阅读(255)  评论(0编辑  收藏  举报

 

课程名称

基于Android平台移动互联网开发

实验日期

2016.04.08

实验项目名称

数独游戏界面设计

实验地点

S3010

实验类型

□验证型    √设计型    □综合型

学  时

6

一、实验目的及要求(本实验所涉及并要求掌握的知识点)

1、       实现数独游戏的完整界面设计

2、       掌握ActionBar的使用

二、实验环境(本实验所使用的硬件设备和相关软件)

(1)PC机

(2)操作系统:Windows XP

(3)软件: Eclipse, JDK1.6,Android SDK,ADT

三、实验内容及步骤

1)  使用ActionBar显示OptionMenu的菜单项MenuItem

2)  使用程序图标导航

3)  添加Action View

四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)

代码:

Menu中main.xml文件

    <item

        android:id="@+id/item_newgame"

        android:showAsAction="always"

        android:title="新游戏">

    </item>

    <item

        android:id="@+id/item_about"

        android:showAsAction="always"

        android:title="关于">

    </item>

    <item

        android:id="@+id/item_help"

        android:showAsAction="always"

        android:title="帮助">

    </item>

    <item

        android:id="@+id/item_clock"

        android:showAsAction="always"

        android:title="时钟"

        android:actionLayout="@layout/clock">

</item>

 

MainActivity部分代码

@Override

    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);

       return super.onCreateOptionsMenu(menu);

    }

 

@Override

public boolean onOptionsItemSelected(MenuItem item) {

    // TODO Auto-generated method stub

    switch (item.getItemId()) {

    case R.id.itemRed:

       titleview.setTextColor(Color.RED);

       break;

case R.id.itemGreen:

    titleview.setTextColor(Color.GREEN);

    break;

    case android.R.id.home:

       Intent intent = new Intent(this, MainActivity.class);

       // 添加额外的Flag,将Activity栈中处于MainActivity之上的Activity弹出

       intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

       startActivity(intent);

       break;

    case R.id.item_help:

       Intent intent1 = new Intent(MainActivity.this, Help.class);

       startActivity(intent1);

       break;

    case R.id.item_about:

         Intent intent2 = new Intent(MainActivity.this, About.class);

         startActivity(intent2);

         break;

    case R.id.item_newgame:

       Intent intent3 = new Intent(MainActivity.this,NewGame.class);

       startActivity(intent3);

       break;

    default:

       break;

    }

    return super.onOptionsItemSelected(item);

}

About.xml文件(help,newgame,clock的xml文件类似)

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <ImageView

        android:id="@+id/imageView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_weight="0.76"

        android:src="@drawable/a" />

</LinearLayout>

运行结果:(截图)

 

 

五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)

这次实验是到目前为止最让我抓狂的一次,因为这次试验的虚拟机出了问题,换了两台电脑都出错。而在实验过程中,对页面跳转的步骤还不是很清楚。

在自学action bar的过程,因为虚拟机的缘故,连续操作了几次,步骤倒是变得熟悉起来,也加深了印象,不过也因为粗心没有把clock的xml关联到item,导致显示的是title,虽然是小问题,但是也不能忽略。

这次实验,收益良多。

实验评语

 

实验成绩

 

指导教师签名:              年   月   日