我想设计一个带有“是”和“否”选项的菜单。
它看起来像是原生Glassware中的共享选项,当人们在菜单中点击“分享”时,Glass会要求用户选择“facebook”或“Google +”。
我想用相同的功能设计我的菜单,并记录用户选择其他功能的输入。
但我对Android很新,所以我不太清楚如何做到这一点。
我用Google搜索并发现了一些类似的问题:
我认为它是某种嵌套菜单,但这个问题说不应该嵌套在Glass中。
Can you create more than one level of nested timeline cards on Glass?
还有另一种类似的解决方案
http://www.androidhive.info/2014/10/how-to-create-google-glass-options-menu/
但它在程序中使用了多个活动,它适用于比“是”/“否”选择更复杂的操作。
所以我认为我以错误的方式搜索嵌套菜单。任何人都可以给我最后的答案,我是否可以实施此操作。如果可以,它的确切名称是什么,所以我可以谷歌实施方法。
由于
答案 0 :(得分:1)
您应该尝试利用Google Glass可以做的事情;在这种情况下,我建议你使用语音识别来做一个简单的是或否的用户响应 -
用户界面图
(Live card)--> app launcher
| |
Share Stop
| onGesture activate |
| voice recognition terminate the app
| to take user input
onActivityResult()
if it's "facebook" then go share on FB
if it's "Google plus" then go share on G+
以下是Google Glass开发人员网站的参考资料 - Voice Recognition
该部分有一个非常易于理解的教程,介绍如何实现语音识别。
下面是我的Glass应用程序的示例UI图。第一个菜单项接受语音命令并要求用户确认其是否正确:例如,询问用户"你说过胡萝卜'? "并将输入视为“是”'或者没有'确定以下行动。
最后,如果您愿意,请查看my HelloWorld Glass示例项目,了解有关实施的一些想法。指向Google代码上托管项目的直接链接位于:https://code.google.com/p/hello-world-google-glass/source/browse/#git%2FHelloWorld
答案 1 :(得分:0)
请查看Google关于如何将菜单添加到Glass应用程序的官方文档,将为您提供如何继续设计玻璃菜单选项的方向,而无需执行大量步骤:
以下是OK选项的代码段:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/Ok_menu_item"
android:title="@string/Ok" <!-- imperative verb -->
android:icon="@drawable/ic_done_50" /> <!-- white in color on
transparent background
-->
</menu>
菜单中的回调按以下方式处理:
以下是Java代码的一小段代码:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.stopwatch, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// Implement if needed
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection. Menu items typically start another
// activity, start a service, or broadcast another intent.
switch (item.getItemId()) {
case R.id.stop:
startActivity(new Intent(this,
StopStopWatchActivity.class));
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
要显示菜单,请在需要时调用openOptionsMenu(),例如点击触控板。以下示例检测活动上的点击手势,然后调用openOptionsMenu()。
public class MainActivity extends Activity {
// ...
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
openOptionsMenu();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
希望这会有所帮助!!