我们来讲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 <item 11 android:id="@+id/action_pause" 12 android:title="暂停" 13 android:icon="@drawable/ic_music_pause_50" 14 /> 15 <item 16 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 }