在应用Google Glass菜单中

时间:2014-06-17 19:29:15

标签: android listview menu google-glass

我正在尝试在Glass应用程序中创建一个简单的菜单。它只包含4个项目。我之前使用ListView来实现这一点,并且它工作得很好。但是,根据一些不同的帖子,ListViews在谷歌的坏名单上,所以他们为它扼杀了功能。我尝试使用此处列出的解决方法

How to enable scrolling on a simpleadapter on Google Glass's firmware X16

但是我没有运气实现它,我也想放弃ListViews,因为它们已经不在支持的谷歌列表中了,我不想强​​迫它。

所以我的问题是,还有其他方法可以为玻璃创建一个小菜单吗?

2 个答案:

答案 0 :(得分:0)

答案 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项中看到的那样,您还可以在菜单中添加图标。

希望有所帮助:)