谷歌眼镜GDK开发指南之Immersions

原文地址:http://bbs.seacat.cn/thread-899-1-1.html



Immersions(沉浸式)可以提供更多的自定义体验。

可以使用Android标准的Activity来创建immersions,但为Glass书写activity请记住一下几点:


1、为640 × 360像素的屏幕设计UI
2、为Glass设计有意义的交互
3、不要依靠复杂的触控手势或界面模式
4、下滑通常是退回activity 堆栈,它的功能更像移动设备上的返回按钮
5、在你的Android manifest中的<activity> 元素的android:icon属性设置一个50*50像素的图标。




创建菜单


创建菜单资源跟安卓平台一样,但有如下几个原则:
1、提供一个50*50的图标,白色背景透明。
2、名称要短,来描述行为或操作(例如:分享)。





[java] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <menu xmlns:android="http://schemas.android.com/apk/res/android">  

  2.    <item  

  3.        android:id="@+id/reply_menu_item"

  4.        android:title="@string/reply"                <!-- imperative verb -->  

  5.        android:icon="@drawable/icons_50_reply" />   <!-- white in color on  

  6.                                                     transparent background -->  

  7. </menu>  





这是个创建菜单资源的示例,更多信息可参见Android SDK 文档。




处理菜单回调


onCreateOptionsMenu() 解析XML菜单资源。
onPrepareOptionsMenu() 当需要时显示或隐藏菜单。例如可为不同的操作而显示不同的菜单。
onOptionsItemSelected() 处理用户的菜单操作。


[java] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. publicclass MyActivity extends Activity {  

  2. @Override

  3. protectedvoid onCreate(Bundle savedInstanceState) {  

  4. super.onCreate(savedInstanceState);  

  5.    }  

  6. @Override

  7. publicboolean onCreateOptionsMenu(Menu menu) {  

  8.        MenuInflater inflater = getMenuInflater();  

  9.        inflater.inflate(R.menu.stopwatch, menu);  

  10. returntrue;  

  11.    }  

  12. @Override

  13. publicboolean onPrepareOptionsMenu(Menu menu) {  

  14. // Implement if needed

  15.    }  

  16. @Override

  17. publicboolean onOptionsItemSelected(MenuItem item) {  

  18. // Handle item selection. Menu items typically start another

  19. // activity, start a service, or broadcast another intent.

  20. switch (item.getItemId()) {  

  21. case R.id.stop:  

  22.                startActivity(new Intent(this, StopStopWatchActivity.class));  

  23. returntrue;  

  24. default:  

  25. returnsuper.onOptionsItemSelected(item);  

  26.        }  

  27.    }  

  28. }  





轻触触摸板的时候可以调用 openOptionsMenu() 方法来显示菜单:


[java] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. publicclass MainActivity extends Activity {  

  2. // ...

  3. @Override

  4. publicboolean onKeyDown(int keyCode, KeyEvent event) {  

  5. if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {  

  6.              openOptionsMenu();  

  7. returntrue;  

  8.          }  

  9. returnfalse;  

  10.    }  

  11. }  





MenuUtils 类为菜单工具类,提供一些通用的菜单相关的帮助方法。


你可能感兴趣的:(android)