首页 > 代码库 > Google glass GDK - Menu菜单

Google glass GDK - Menu菜单

我们来讲Google glass GDK开发中的菜单吧。(上一节讲得真JB烂 = = 这一节在以后的我看来也是,所以就草草写一点 然后等技术成熟了,再出一套完整的教程!)

先来看效果图

 


开始 :)

我们先把原来的主题去掉,其他的不管

AndroidManifest.xml中把android:theme去掉,然后在res/menu/main.xml中编辑我们的菜单

Glass的菜单有三个选项(一般来说),一个是ID,一个是标题,还有一个是ICON图标(白色透明背景50x50像素)

所以我们的xml代码如下:

 1 <menu xmlns:android="http://schemas.android.com/apk/res/android" 2     xmlns:tools="http://schemas.android.com/tools" 3     tools:context="com.google.menutest.MainActivity" > 4  5     <item 6         android:id="@+id/action_play" 7         android:title="播放" 8         android:icon="@drawable/ic_music_play_50" 9         />10     <item11         android:id="@+id/action_pause"12         android:title="暂停"13         android:icon="@drawable/ic_music_pause_50"14         />15     <item16         android:id="@+id/action_quit"17         android:title="退出"18         />19 </menu>

OK,然后我们在java中编写菜单的点击事件

 1     @Override 2     public boolean onOptionsItemSelected(MenuItem item) { 3         switch(item.getItemId()){ 4         case R.id.action_quit: 5             System.out.println("退出程序!"); 6             System.exit(0); 7             break; 8         case R.id.action_play: 9             System.out.println("开始播放!");10             break;11         case R.id.action_pause:12             System.out.println("暂停播放!");13         default:14             break;15         }16         return super.onOptionsItemSelected(item);17     }

很好理解吧?和Android没多大区别,不过接下来就是最重要的事件-触控板点击事件

在触控板点击的时候弹出菜单,我们添加一个onKeyDown事件,需要(int keyCode, KeyEvent keyEvent)两个参数

1     public boolean onKeyDown(int keyCode, KeyEvent keyEvent){2         if(keyCode == KeyEvent.KEYCODE_DPAD_CENTER){3             openOptionsMenu();4             return true;5         }6         return false;7     }

KeyEvent.KEYCODE_DPAD_CENTER是触控板点击事件ID,向右向左向下什么的暂时还没弄清,所以日后再讲~


基本就OK了,我们还是写一下开始代码吧

 1     @Override 2     protected void onCreate(Bundle savedInstanceState) { 3         super.onCreate(savedInstanceState); 4         //setContentView(R.layout.activity_main); 5         Card card1 = new Card(this); 6         card1.setImageLayout(Card.ImageLayout.FULL); 7         card1.addImage(R.drawable.img2); 8         card1.setText("草泥马播放器"); 9         card1.setFootnote("Ch3rry");10         View view = card1.getView();11         setContentView(view);12     }