自己动手新增一个工程 技巧:默认创建一个类, R.java 不要修改,将 Nodepadv2.java 中对 R import 路径删除,重新通过 Ctrl+shift+O 导入,选择 org.huareal.demo.R[ 具体随不同项目而定 ] 如果想改变R.java中的内容,修正res目录下的内容的 其中strings.xml内容修改为 <?xml version= "1.0" encoding= "utf-8" ?> <resources> <string name= "app_name" > GGame </string> <string name= "menu_begin" > begin Game </string> <string name= "menu_pause" > pause Game </string> <string name= "menu_exit" > exit Game </string> </resources> 其中的menu_beginmenu_pause,menu_exit都属于后续添加的。为了使R.java具有上述内容,通过选择project中clean操作,清理对应的工程,R.java将自动更新。 1 增加菜单 该实例中,首先根据练习1中,增加相应的三个菜单,分别对应上述的三个menu 为了显示菜单,通过实现方法: @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub //return super.onCreateOptionsMenu(menu); boolean result = super .onCreateOptionsMenu(menu); Log.i ( "info" , "NotePad MenuCreate " ); menu.add(0, BEGIN_ID , R.string. menu_begin ); menu.add(0, PAUSE_ID ,R.string. menu_pause ); menu.add(0, EXIT_ID ,R.string. menu_exit ); return result; } 点击每个菜单的操作如下: @Override public boolean onOptionsItemSelected(Item item) { Log.i ( "info" , "NotePad Menu select " ); switch (item.getId()) { case BEGIN_ID : beginGame(); break ; case PAUSE_ID : pauseGame(); break ; case EXIT_ID : exitGame(); break ; default : Log.i ( "i" , " 无效的菜单选项 " ); break ; } return super .onOptionsItemSelected(item); } public void beginGame(){ Log.i ( "info" , "Begin game " ); } public void pauseGame(){ Log.i ( "info" , "Pause game" ); } public void exitGame(){ Log.i ( "info" , "Exit Game" ); System.exit(0); } 对应变量定义为: public static final int BEGIN_ID = Menu. FIRST ; public static final int PAUSE_ID =2; public static final int EXIT_ID =3; @Override public void onCreate (Bundle icicle) { super .onCreate(icicle); Log.i ( "info" , "NotePad Create" ); setContentView(R.layout. main ); } android.util.Log 提供了方便的日志处理 log.i(),log.e(),log.d() 等】 运行程序: 点击菜单效果如下: 点击begin Game 相应日志如下: 点击exit Game 返回主程序 2 修正显示视图 在前例子的onCreate方法中,创建的TextView从默认的main.xml中读取解析。 public void onCreate (Bundle icicle) { super .onCreate(icicle); Log.i ( "info" , "NotePad Create" ); setContentView(R.layout. main ); } 此时展示的内容为: Layout下的main.xml中的东西如: <TextView android:layout_width= "fill_parent" android:layout_height= "wrap_content" android:text= " 欢迎使用 ,Gpx Notepad Game..." /> </LinearLayout> 根据 setContentView 开支持如下的参数: void android.app.Activity.setContentView(View view) Set the activity content to an explicit view. 参数为: View 显示相应的内容 . 所以采用 setContentView 的方法进行显示视图 通过自定义 TextView public TextView getContentTextView(String contentText){ android.widget.TextView tv= new TextView( this ); tv.setBackgroundColor(android.graphics.Color. YELLOW ); tv.setText(contentText); return tv; } 修改 setContentView 的调用方法 this.setContentView(getContentTextView(" 开始自定义 Content Text View")); 运行效果为: 通过 TextView 设置背景颜色【注意 Android 平台中,没有 java.awt.Color ,通过 android.graphics.Color 来替代】 针对点击不同的菜单,可以通过 setContentView 来调整需要现实的 View. public void beginGame(){ Log.i ( "info" , "Begin game " ); setContent( "Begin Game..." ); } public void pauseGame(){ Log.i ( "info" , "Pause game" ); setContent( "Pause Game..." ); } 调整视图的方法为: public void setContent(String contentInfo){ TextView tv=getContentTextView(contentInfo); setContentView(tv); } 【总结针对,菜单的不同动作,可以调整 ContentView 的显示视图,来完成对视图的调整处理操作】。

更多相关文章

  1. Android(安卓)浏览器启动应用程序
  2. Android中View绘制流程
  3. android中的三种适配器
  4. BaseAdapter练习总结
  5. Android(安卓)Spinner 下拉菜单的使用
  6. Android中的Menu的简介(翻译自官方文档)——————个人笔记
  7. Android(安卓)ListView常用用法
  8. android菜单详解五:菜单的其它特性
  9. Android视图加载流程(3)之ViewRootImpl的UI刷新机制

随机推荐

  1. android之wifi移植全过程(一)
  2. Android_linux下android platforms下载地
  3. 2011.07.08(2)——— android 背景模糊
  4. Android(安卓)Architecture Components(一
  5. Android资源下载
  6. android调用系统相机并调整照片大小保存,
  7. Android(安卓)使用Telephony API
  8. android用于打开各种文件的intent
  9. Android: 下载并编译Android(安卓)Source
  10. Android(安卓): 继承BaseAdapter对ListVi