实验5 数独游戏界面设计
【目的】
实现数独游戏的完整界面设计
【要求】
1、掌握ActionBar的使用;
【原理】
1) 使用ActionBar显示OptionMenu的菜单项MenuItem
2) 使用程序图标导航
3) 添加Action View
【过程】
1、显示ActionBar
在运行时通过调用show()来显示ActionBar。
ActionBar actionBar = getActionBar();
actionBar.show();
2、使用ActionBar显示OptionMenu的菜单项MenuItem
2.1 修改选项菜单文件main.xml
2.2将选项菜单资源文件中的每个<item.../>元素增加
android:showAsAction="always"属性
2.3在Activity类中添加和重写以下public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub MenuInflater inflater = new MenuInflater(this); inflater.inflate(R.menu.main, menu); return super.onCreateOptionsMenu(menu); } @Override 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.help: Intent intent1=new Intent(this,HelpActivity.class); startActivity(intent1); break; case R.id.about: Intent intent2=new Intent(this,AboutActivity.class); startActivity(intent2); break; default: break; } return super.onOptionsItemSelected(item); }
3、运行程序,查看结果。
4、使用程序图标导航
在protected void onCreate(Bundle savedInstanceState)方法中添加以下代码,对ActionBar初始化设置:
ActionBar actionBar = getActionBar();//获取ActionBar对象 actionBar.setDisplayShowHomeEnabled(true);//显示应用程序图标 actionBar.setDisplayHomeAsUpEnabled(true);//将应用程序图标转变为可点击图标,并添加一个返回箭头。
实现点击程序图标后返回到上一个页面(程序图标的ID默认为Android.R.id.home)
@Override 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; default: break; } returnsuper.onOptionsItemSelected(item); }
运行结果图:
5、添加Action View
ActionBar除了可以显示普通的ActionItem之外,还可以显示普通的UI控件,如在ActionBar上显示一个时钟。
方法:定义Action Item时使用android:actionLayout="@layout/clock"属性指定ActionView对应的视图布局资源。
在layout文件夹中新建一个显示时钟的布局文件clock.xml
在菜单资源文件main.xml中添加Action Item
查看效果
【实验小结】
通过这次实验实现了数独游戏的完整界面设计,掌握了ActionBar的使用。