谷歌眼镜GDK开发指南之活动卡片中显示菜单
2014-01-21 22:24
375 查看
原文地址:http://bbs.seacat.cn/thread-897-1-1.html
创建并显示一个菜单
注意:Glass菜单不支持可选项
创建菜单资源
创建菜单资源和Android平台一样,但对于Glass还有些原则:
1、对于每个菜单项,提供一个50*50的图标。这个菜单图标一定要是白色,透明背景。
2、使用短名称来描述行为和用例。用祈使句动词就很好。(例如分享,回复全部)。
3、Glass不显示没有菜单项的活动卡片。至少要提供一个停止菜单,这样用户可以从时间轴中删除活动卡片
4、CheckBox控件不支持
创建一个activity来处理菜单的回调
你必须定义一个菜单activity,当用户点击菜单的时候,让你的活动菜单能调用它。
重写下面这些activity的回调方法更适当:
onCreateOptionsMenu() 解析 XML 菜单资源.
onResume() 当activity获得焦点的时候显示菜单
onPrepareOptionsMenu() 若需要则显示或隐藏菜单。例如你可以根据用户的操作或展现的数据不同而显示不同的菜单。
onOptionsItemSelected() 处理用户的选择
onOptionsMenuClosed() 结束activity,以便他不再显示在活动卡片上。
如果点了关闭菜单项或者下滑操作时,一定要适当的关闭activity:
使menu activity透明
menu activity会覆盖在活动卡片上:
1、创建一个res/values/styles.xml 文件并声明一个style使activity背景透明:
2、在你的AndroidManifest.xml 文件,配置menu
activity的主题:
显示菜单
通过调用setAction(),提供一个
PendingIntent。当用户轻触卡片,pending intent将启动menu activity
Menu工具类
MenuUtils类是菜单工具类,提供一些菜单相关的通用工具方法。
创建并显示一个菜单
注意:Glass菜单不支持可选项
创建菜单资源
创建菜单资源和Android平台一样,但对于Glass还有些原则:
1、对于每个菜单项,提供一个50*50的图标。这个菜单图标一定要是白色,透明背景。
2、使用短名称来描述行为和用例。用祈使句动词就很好。(例如分享,回复全部)。
3、Glass不显示没有菜单项的活动卡片。至少要提供一个停止菜单,这样用户可以从时间轴中删除活动卡片
4、CheckBox控件不支持
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_item_1" android:title="@string/Menu_Item_1" <!-- must have "Stop" menu item --> android:icon="@drawable/menu_item_1_icon" /> <!-- white on transparent icon --> </menu>
创建一个activity来处理菜单的回调
你必须定义一个菜单activity,当用户点击菜单的时候,让你的活动菜单能调用它。
重写下面这些activity的回调方法更适当:
onCreateOptionsMenu() 解析 XML 菜单资源.
onResume() 当activity获得焦点的时候显示菜单
onPrepareOptionsMenu() 若需要则显示或隐藏菜单。例如你可以根据用户的操作或展现的数据不同而显示不同的菜单。
onOptionsItemSelected() 处理用户的选择
onOptionsMenuClosed() 结束activity,以便他不再显示在活动卡片上。
如果点了关闭菜单项或者下滑操作时,一定要适当的关闭activity:
/** * Activity showing the options menu. */ public class MenuActivity extends Activity { @Override public void onResume() { super.onResume(); openOptionsMenu(); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.stopwatch, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection. switch (item.getItemId()) { case R.id.stop: stopService(new Intent(this, StopwatchService.class)); return true; default: return super.onOptionsItemSelected(item); } } @Override public void onOptionsMenuClosed(Menu menu) { // Nothing else to do, closing the activity. finish(); } }
使menu activity透明
menu activity会覆盖在活动卡片上:
1、创建一个res/values/styles.xml 文件并声明一个style使activity背景透明:
<resources> <style name="MenuTheme" parent="@android:style/Theme.DeviceDefault"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@null</item> </style> </resources>
2、在你的AndroidManifest.xml 文件,配置menu
activity的主题:
<?xml version="1.0" encoding="utf-8"?> <manifest ... > ... <application ... > ... <activity android:name=".MenuActivity" android:theme="@style/MenuTheme" ...> </activity> </application> </manifest>
显示菜单
通过调用setAction(),提供一个
PendingIntent。当用户轻触卡片,pending intent将启动menu activity
Intent menuIntent = new Intent(this, MenuActivity.class); mLiveCard.setAction(PendingIntent.getActivity(this, 0, menuIntent, 0)); mLiveCard.publish(LiveCard.PublishMode.REVEAL); // or SILENT
Menu工具类
MenuUtils类是菜单工具类,提供一些菜单相关的通用工具方法。
相关文章推荐
- 谷歌眼镜GDK开发指南之活动卡片中显示菜单
- 谷歌眼镜GDK开发指南之动态卡片
- 谷歌眼镜GDK开发指南之动态卡片
- 初学移动开发技术_两个页面相互跳转,并且向上一个活动传递数据并显示
- ATL实战开发指南--活动模板库3.1
- Android开发之使用活动显示对话框
- 微信公众平台jsapi开发教程(8)显示隐藏网页右上角菜单
- Unix/Linux下的Curse库开发指南——第六章 菜单开发及应用(1)
- Android 程式开发:(九)使用活动栏 —— 9.1隐藏或显示ActionBar
- Android动画开发——Animation显示隐藏菜单效果
- Delphi for iOS开发指南(9):在iOS应用程序中使用ListBox组件来显示TableView
- 谷歌眼镜GDK开发指南之触控手势
- 谷歌眼镜GDK开发指南之触控手势
- thinkphp开发,表里增加记录后 左侧菜单不显示
- Delphi For iOS开发指南(18):让Delphi XE4开发的iOS应用显示为中文名称
- 谷歌眼镜GDK开发指南之语音输入
- 百度地图Android SDK 2.0开发指南2-结合百度定位SDK在百度地图上显示当前位置
- Android开发指南-用户界面-菜单特性
- 谷歌眼镜GDK开发指南之地理位置和传感器
- VS.NET 2003集成环境插件开发指南(一)----操纵菜单