实验5 数独界面设计

实验报告

课程名称

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

实验日期

2016年3月4日

实验项目名称

开发一个Android应用程序

实验地点

S30010

实验类型

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

学  时

2

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

【目的】

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

【要求】

掌握ActionBar的使用;

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

(1)PC机

(2)操作系统:Windows XP

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

三、实验内容及步骤

  1. 导入工程Sodoku
  2. 添加以下的Activity类
  3. 添加以下layout资源文件

4.完成界面及其功能

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

 

代码:

1. MainActivity

package com.example.sukodu;

 

import android.annotation.SuppressLint;

import android.app.ActionBar;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

 

public class MainActivity extends Activity {

    private Button exitbtn,aboutbtn;

    private TextView tv1;

    private ActionBar actionBar;

    @SuppressLint("NewApi")

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        actionBar = getActionBar();//获取ActionBar对象

        actionBar.setDisplayShowHomeEnabled(true);//显示应用程序图标

        actionBar.setDisplayHomeAsUpEnabled(true);//将应用程序图标转变为可点击图标,并添加一个返回箭头。

       

    }

   

    public boolean onOptionsItemSelected(MenuItem item) {

        // TODO Auto-generated method stub

        switch (item.getItemId()) {

        case android.R.id.home:

            //创建启动MainActivity的Intent

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

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

            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

            startActivity(intent);

            break;

            case R.id.item1:

                    Intent intent3=new Intent(this,help.class);

                    startActivity(intent3);

                    break;

              case R.id.item2:

                    Intent intent2=new Intent(this,SecondActivity.class);

                    startActivity(intent2);

                    break;

                    case R.id.item4:

                Intent intent1=new Intent(this,game.class);

                startActivity(intent1);

                break;

            default:

                break;

            }

            return super.onOptionsItemSelected(item);

        }

   

   

 

    @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 true;

    }

 

}

2. SecondActivity

package com.example.sukodu;

 

import com.example.sukodu.R.layout;

 

import android.app.Activity;

import android.content.Intent;

import android.graphics.Color;

import android.os.Bundle;

import android.text.Layout;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.TextView;

 

public class SecondActivity extends Activity{

    private TextView tv;

@Override

protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);

    setContentView(R.layout.about);

    tv=(TextView)findViewById(R.id.textView1);

   

}

public boolean onOptionsItemSelected(MenuItem item) {

    // TODO Auto-generated method stub

    switch (item.getItemId()) {

    case android.R.id.home:

       //创建启动MainActivity的Intent

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

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

       intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

       startActivity(intent);

       break;

        case R.id.item1:

              Intent intent3=new Intent(this,help.class);

              startActivity(intent3);

              break;

          case R.id.item2:

              Intent intent2=new Intent(this,SecondActivity.class);

              startActivity(intent2);

              break;

              case R.id.item4:

           Intent intent1=new Intent(this,game.class);

           startActivity(intent1);

           break;

       default:

           break;

       }

       return super.onOptionsItemSelected(item);

    }

 

 

 

@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 true;

}

}

3.(help game的class类似)

4.main.xml

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

 

    <group android:id="@+id/group1" android:checkableBehavior="single">

  

            <item

        android:id="@+id/item1"

        android:showAsAction="always"

        android:title="帮助">

    </item>

  

 

<item

        android:id="@+id/item2"

        android:showAsAction="always"

        android:title="关于">

</item>

<item

        android:id="@+id/item4"

        android:showAsAction="always"

        android:title="进入游戏">

    </item>

    <item

        android:id="@+id/item3"

        android:actionLayout="@layout/colck"

        android:showAsAction="always"

        android:title="时钟">

    </item>

      

    </group>

 

</menu>

5.mainActivity.xml

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

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/LinearLayout1"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    android:padding="30dip"

    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=".MainActivity"

   android:background="@drawable/hh" >

 

 

 

    <TextView

        android:id="@+id/mainTitle"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_gravity="center"

        android:layout_marginBottom="25dip"

        android:text="@string/main_title"

        android:textColor="#ffffff"

        android:textSize="24.5sp"

        android:textStyle="bold" />

 

    <Button

        android:id="@+id/continue_btn"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

       android:background="@drawable/h"

        android:text="@string/continue_label" />

 

    <Button

        android:id="@+id/new_btn"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

       android:background="@drawable/h"

        android:text="@string/new_game_label" />

 

    <Button

        android:id="@+id/about_btn"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

       android:background="@drawable/h"

        android:text="@string/about_label" />

 

    <Button

        android:id="@+id/exit_btn"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

       android:background="@drawable/h"

        android:text="@string/exit_label" />

 

</LinearLayout>

6.about.xml

 

 

7.clock.xml

 

8.help.xml

 

9.game.xml

 

 

运行结果:(截图)

1.主界面

 

 

2.帮助界面

 

 

3.关于界面

 

 

4.进入游戏界面

 

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

才知道本版本太低。版本低无法显示ActionBar。

实验评语

 

实验成绩

 

指导教师签名:              年   月   日

           

 

posted @ 2016-04-15 11:03  37黄翠连  阅读(169)  评论(0编辑  收藏  举报