我正在尝试在Glass应用程序中创建一个简单的菜单。它只包含4个项目。我之前使用ListView来实现这一点,并且它工作得很好。但是,根据一些不同的帖子,ListViews在谷歌的坏名单上,所以他们为它扼杀了功能。我尝试使用此处列出的解决方法
How to enable scrolling on a simpleadapter on Google Glass's firmware X16
但是我没有运气实现它,我也想放弃ListViews,因为它们已经不在支持的谷歌列表中了,我不想强迫它。
所以我的问题是,还有其他方法可以为玻璃创建一个小菜单吗?
答案 0 :(得分:0)
您是否已经尝试创建标准菜单?,就像本教程一样:
https://developers.google.com/glass/develop/gdk/immersions#creating_and_displaying_a_menu
您可以在Timer和Charade示例中找到示例:
答案 1 :(得分:0)
这是我在Google GLASS上实现它的方式:
首先,在您的“活动”菜单中实现,就像在普通的Android应用上一样:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection.
switch (item.getItemId()) {
case R.id.menu_item_1:
//Do what you want here
return true;
case R.id.menu_item_2:
//Do what you want here
return true;
case R.id.menu_item_3:
//Do what you want here
return true;
case R.id.menu_item_4:
//Do what you want here
return true;
default:
return super.onOptionsItemSelected(item);
}
}
然后,实现onKeyDown方法,让它在您进入活动时打开菜单,然后点击触摸板:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
// Handle tap events.
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
//Play default tap sound
AudioManager audio = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audio.playSoundEffect(Sounds.TAP);
//Open the menu
openOptionsMenu();
return true;
default:
return super.onKeyDown(keyCode, event);
}
}
这就是菜单布局的样子:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item_1"
android:title="@string/menu_item_1" />
<item
android:id="@+id/menu_item_2"
android:title="@string/menu_item_2"/>
<item
android:id="@+id/menu_item_3"
android:title="@string/menu_item_3"/>
<item
android:id="@+id/menu_item_4"
android:title="@string/menu_item_4"
android:icon="@drawable/menu_icon_4" />
</menu>
正如您在第4项中看到的那样,您还可以在菜单中添加图标。
希望有所帮助:)