一、实验目的及要求
实现数独游戏界面的完整设计
二、实验内容及步骤
1、 显示与隐藏ActionBar
2、 使用ActionBar显示OptionMenu的菜单项MenuItem
3、 使用程序图标导航
4、 添加Action View
三、实验代码
MainActivity类的代码:
public class MainActivity extends Activity { private TextView tv1; final int code=0x717; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent=getIntent(); //创建intent对象 Bundle bundle=intent.getExtras(); //获取传递值,并用bundle接收 String str=bundle.getString("用户名:"+bundle.getString("userName")); tv1 = (TextView) findViewById(R.id.TextView01); // 从Intent获得额外信息,设置为TextView的文本 tv1.setText("用户名:"+bundle.getString("userName")); ActionBar actionBar=getActionBar(); //获取ActionBar对象 actionBar.show(); //显示ActionBar actionBar.setDisplayShowHomeEnabled(true); //显示应用程序图标 actionBar.setDisplayHomeAsUpEnabled(true); //把应用程序图标转变为可点击图标,并添加一个返回箭头 } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } public boolean onOptionsItemSelected(MenuItem item){ TextView title=(TextView)findViewById(R.id.mainTitle); switch (item.getItemId()) { /*case android.R.id.home: //创建和启动MainActivity的Intent Intent intent=new Intent(this,MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); break; */ case R.id.itemNewgame: Intent intent3=new Intent(this,NewGame.class); startActivity(intent3); break; case R.id.itemhelp: Intent intent1=new Intent(this,Help.class); startActivity(intent1); break; case R.id.itemabout: Intent intent2=new Intent(this,About.class); startActivity(intent2); break; default: break; } return super.onOptionsItemSelected(item); } }
运行结果:(截图)
主界面 点击“关于”界面
点击“帮助”界面 点击“新游戏”界面
四、实验总结
这次实验使我对ActionBar有了一定的掌握,在参照老师的教案后,尝试自己做,还是存在问题,在实现点击程序图标返回主界面时出现了崩溃。检查代码发现没有错,可能是缺少了某些语句导致程序运行崩溃。在实现点击ActionBar响应,实现类的跳转时,要记得在AndroidManifest注册。