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