實驗5 數獨遊戲界面設計

1、實驗目的及要求(本實驗所涉及並要求掌握的知識點)android

實現數獨遊戲的完整界面設計app

掌握ActionBar的使用;ide

2、實驗環境(本實驗所使用的硬件設備和相關軟件)this

(1)PC機spa

(2)操做系統:Windows XP操作系統

(3)軟件: Eclipse, JDK1.6,Android SDK,ADT設計

1) 導入工程Sodokucode

2) 添加如下的Activity類orm

3) 添加如下layout資源文件xml

4) 完成設計後,界面運行以下

初始界面:

新遊戲界面:

幫助界面:

關於界面:

4、實驗結果(本實驗源程序清單及運行結果或實驗結論、實驗設計圖)

menu菜單代碼

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/ai1"
        android:title="皮膚">
        <menu>
            <item
                android:id="@+id/ai1_1"
                android:title="默認(晚霞)"/>
            <item
                android:id="@+id/ai1_2"
                android:title="藍天"/>
            <item
                android:id="@+id/ai1_3"
                android:title="雨天"/>
            <item
                android:id="@+id/ai1_4"
                android:title="卡通"/>
            <item
                android:id="@+id/ai1_5"
                android:title="星空"/>
        </menu>
    </item>
    <item
        android:id="@+id/ai2"
        android:title="@string/action_settings">
    </item>
    <item
        android:id="@+id/aix"
        android:showAsAction="always"
        android:title="新遊戲">
    </item>
    <item
        android:id="@+id/ai3"
        android:showAsAction="always"
        android:title="幫助">
    </item>
    <item
        android:id="@+id/ai4"
        android:showAsAction="always"
        android:title="關於">
    </item>
    <item
        android:id="@+id/ai5"
        android:actionLayout="@layout/clock"
        android:showAsAction="always"
        android:title="時鐘">
    </item>
</menu>

MainActivity關鍵代碼:

actionBar=getActionBar();
        actionBar.show();



public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        MenuInflater inflater = new MenuInflater(this);
        inflater.inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }
    
     public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        Resources resources;
        Drawable btnDrawable;
        item.setChecked(true);
        switch (item.getItemId()) {
        case R.id.ai1_1:
            item.setChecked(true);
            resources = getBaseContext().getResources();   
            btnDrawable = resources.getDrawable(R.drawable.ppp); 
            V.setBackground(btnDrawable);
            break;
        case R.id.ai1_2:
            item.setChecked(true);
            resources = getBaseContext().getResources();   
            btnDrawable = resources.getDrawable(R.drawable.p2); 
            V.setBackground(btnDrawable);
            break;
        case R.id.ai1_3:
            item.setChecked(true);
            resources = getBaseContext().getResources();   
            btnDrawable = resources.getDrawable(R.drawable.p4); 
            V.setBackground(btnDrawable);
            break;
        case R.id.ai1_4:
            item.setChecked(true);
            resources = getBaseContext().getResources();   
            btnDrawable = resources.getDrawable(R.drawable.p3); 
            V.setBackground(btnDrawable);
            break;
        case R.id.ai1_5:
            item.setChecked(true);
            resources = getBaseContext().getResources();   
            btnDrawable = resources.getDrawable(R.drawable.p5); 
            V.setBackground(btnDrawable);
            break;
        case R.id.ai2:
            item.setChecked(true);
            Intent intent=new Intent();
            intent.setClass(MainActivity.this, music_main.class);
            startActivity(intent);
            break;
        case R.id.ai3:
            item.setChecked(true);
            Intent intent1=new Intent();
            intent1.setClass(MainActivity.this, help_main.class);
            startActivity(intent1);
            break;
        case R.id.ai4:
            item.setChecked(true);
            Intent intent2=new Intent();
            intent2.setClass(MainActivity.this, about_main.class);
            startActivity(intent2);
        case R.id.aix:
            item.setChecked(true);
            Intent intentx=new Intent();
            intentx.setClass(MainActivity.this, newgame_main.class);
            startActivity(intentx);

        default:
            break;
        }
        return super.onOptionsItemSelected(item);
    }

關於、幫助、新遊戲關鍵代碼:

ActionBar actionBar;
actionBar=getActionBar();
        actionBar.show();
        actionBar.setDisplayShowHomeEnabled(true);//顯示應用程序圖標
        actionBar.setDisplayHomeAsUpEnabled(true);


public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        MenuInflater inflater = new MenuInflater(this);
        inflater.inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }
     public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        item.setChecked(true);
        switch (item.getItemId()) {
        case R.id.ai3:
            item.setChecked(true);
            Intent intent1=new Intent();
            intent1.setClass(this, help_main.class);
            startActivity(intent1);
            finish();
            break;
        case R.id.ai4:
            item.setChecked(true);
            Intent intent2=new Intent();
            intent2.setClass(this, about_main.class);
            startActivity(intent2);
            finish();
            break;
        case android.R.id.home:
            item.setChecked(true);
            Intent intenth=new Intent(this,MainActivity.class);
            //添加額外的Flag,將Activity棧中處於MainActivity之上的Activity彈出
            intenth.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            Bundle bundle=new Bundle();
            bundle.putString("username","");
            intenth.putExtras(bundle);
            startActivity(intenth);
            finish();
            break;
        case R.id.aix:
            item.setChecked(true);
            Intent intentx=new Intent();
            intentx.setClass(this, newgame_main.class);
            startActivity(intentx);
            finish();
        default:
            break;
        }
        return super.onOptionsItemSelected(item);
    }

運行結果:(截圖)

如三已展現

5、實驗總結(對本實驗結果進行分析,實驗心得體會及改進意見)

通過實驗,熟悉了遊戲導航欄設置的基本代碼,爲遊戲增添了方便的操做,是項目更加完整,對於ActionBar的使用,能夠應用用於很app,是一個實用的方法。往後還須要提升ActionBar使用的技巧。

 

menu菜單代碼

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

    <item

        android:id="@+id/ai1"

        android:title="皮膚">

        <menu>

            <item

                android:id="@+id/ai1_1"

                android:title="默認(晚霞)"/>

            <item

                android:id="@+id/ai1_2"

                android:title="藍天"/>

            <item

                android:id="@+id/ai1_3"

                android:title="雨天"/>

            <item

                android:id="@+id/ai1_4"

                android:title="卡通"/>

            <item

                android:id="@+id/ai1_5"

                android:title="星空"/>

        </menu>

    </item>

    <item

        android:id="@+id/ai2"

        android:title="@string/action_settings">

    </item>

    <item

        android:id="@+id/aix"

        android:showAsAction="always"

        android:title="新遊戲">

    </item>

    <item

        android:id="@+id/ai3"

        android:showAsAction="always"

        android:title="幫助">

    </item>

    <item

        android:id="@+id/ai4"

        android:showAsAction="always"

        android:title="關於">

    </item>

    <item

        android:id="@+id/ai5"

        android:actionLayout="@layout/clock"

        android:showAsAction="always"

        android:title="時鐘">

    </item>

</menu>

 

 

MainActivity關鍵代碼:

    actionBar=getActionBar();

        actionBar.show();

 

 

 

publicboolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        MenuInflater inflater = new MenuInflater(this);

        inflater.inflate(R.menu.main, menu);

        returnsuper.onCreateOptionsMenu(menu);

    }

   

     publicboolean onOptionsItemSelected(MenuItem item) {

        // TODO Auto-generated method stub

        Resources resources;

        Drawable btnDrawable;

        item.setChecked(true);

        switch (item.getItemId()) {

        case R.id.ai1_1:

            item.setChecked(true);

            resources = getBaseContext().getResources();  

            btnDrawable = resources.getDrawable(R.drawable.ppp);

            V.setBackground(btnDrawable);

            break;

        case R.id.ai1_2:

            item.setChecked(true);

            resources = getBaseContext().getResources();  

            btnDrawable = resources.getDrawable(R.drawable.p2);

            V.setBackground(btnDrawable);

            break;

        case R.id.ai1_3:

            item.setChecked(true);

            resources = getBaseContext().getResources();  

            btnDrawable = resources.getDrawable(R.drawable.p4);

            V.setBackground(btnDrawable);

            break;

        case R.id.ai1_4:

            item.setChecked(true);

            resources = getBaseContext().getResources();  

            btnDrawable = resources.getDrawable(R.drawable.p3);

            V.setBackground(btnDrawable);

            break;

        case R.id.ai1_5:

            item.setChecked(true);

            resources = getBaseContext().getResources();  

            btnDrawable = resources.getDrawable(R.drawable.p5);

            V.setBackground(btnDrawable);

            break;

        case R.id.ai2:

            item.setChecked(true);

            Intent intent=new Intent();

            intent.setClass(MainActivity.this, music_main.class);

            startActivity(intent);

            break;

        case R.id.ai3:

            item.setChecked(true);

            Intent intent1=new Intent();

            intent1.setClass(MainActivity.this, help_main.class);

            startActivity(intent1);

            break;

        case R.id.ai4:

            item.setChecked(true);

            Intent intent2=new Intent();

            intent2.setClass(MainActivity.this, about_main.class);

            startActivity(intent2);

        case R.id.aix:

            item.setChecked(true);

            Intent intentx=new Intent();

            intentx.setClass(MainActivity.this, newgame_main.class);

            startActivity(intentx);

 

        default:

            break;

        }

        returnsuper.onOptionsItemSelected(item);

    }

 

關於、幫助、新遊戲關鍵代碼:

ActionBar actionBar;

actionBar=getActionBar();

        actionBar.show();

        actionBar.setDisplayShowHomeEnabled(true);//顯示應用程序圖標

        actionBar.setDisplayHomeAsUpEnabled(true);

 

 

publicboolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        MenuInflater inflater = new MenuInflater(this);

        inflater.inflate(R.menu.main, menu);

        returnsuper.onCreateOptionsMenu(menu);

    }

     publicboolean onOptionsItemSelected(MenuItem item) {

        // TODO Auto-generated method stub

        item.setChecked(true);

        switch (item.getItemId()) {

        case R.id.ai3:

            item.setChecked(true);

            Intent intent1=new Intent();

            intent1.setClass(this, help_main.class);

            startActivity(intent1);

            finish();

            break;

        case R.id.ai4:

            item.setChecked(true);

            Intent intent2=new Intent();

            intent2.setClass(this, about_main.class);

            startActivity(intent2);

            finish();

            break;

        case android.R.id.home:

            item.setChecked(true);

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

            //添加額外的Flag,將Activity棧中處於MainActivity之上的Activity彈出

            intenth.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

            Bundle bundle=new Bundle();

            bundle.putString("username","");

            intenth.putExtras(bundle);

            startActivity(intenth);

            finish();

            break;

        case R.id.aix:

            item.setChecked(true);

            Intent intentx=new Intent();

            intentx.setClass(this, newgame_main.class);

            startActivity(intentx);

            finish();

        default:

            break;

        }

        returnsuper.onOptionsItemSelected(item);

}

相關文章
相關標籤/搜索