zoukankan      html  css  js  c++  java
  • Android开发之Menu和actionBar

    一、通过Menu目录下创建一个布局文件:

      先看代码meu/main.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     3     <item android:id="@+id/setting1"
     4         android:showAsAction="never"
     5         android:orderInCategory="100"
     6         android:title="@string/setting1"/>
     7     <item android:id="@+id/setting2"
     8         android:orderInCategory="100"
     9         android:showAsAction="never"
    10         android:title="@string/setting2"/>
    11 </menu>

    MainActivity:

     1 @Override
     2     public boolean onCreateOptionsMenu(Menu menu) {
     3         getMenuInflater().inflate(R.menu.main,menu);
     4         return super.onCreateOptionsMenu(menu);
     5     }
     6 
     7 @Override
     8     public boolean onOptionsItemSelected(MenuItem item) {
     9         switch (item.getItemId()){
    10             case R.id.setting1:   Toast.makeText(this,"Setting1",Toast.LENGTH_SHORT).show();
    11                 break;
    12             case R.id.setting2:   Toast.makeText(this,"Setting2",Toast.LENGTH_SHORT).show();
    13                 break;
    14         }
    15     return super.onOptionsItemSelected(item);
    16     }

    1、orderInCategory属性:

      actionbar里每个item的优先级,值越大优先级越低,actionbar地方不够就会放到overflow中

    2、接下来介绍一下showAsAction属性:

      (1)always:这个值会使菜单项一直显示在ActionBar上。

      (2)ifRoom:如果有足够的空间,这个值会使菜单显示在ActionBar上。

      (3)never:这个值菜单永远不会出现在ActionBar是。

      (4)withText:这个值使菜单和它的图标,菜单文本一起显示。

      下面是三种显示效果:

         

    二、动态添加:

      动态添加的代码如下:

      

     1 @Override
     2     public boolean onCreateOptionsMenu(Menu menu) {
     3         menu.add(0,1,0,"后退");
     4         menu.add(0,2,0,"前进");
     5         return super.onCreateOptionsMenu(menu);
     6     }
     7 
     8 @Override
     9     public boolean onOptionsItemSelected(MenuItem item) {
    10         switch (item.getItemId()){
    11             case 1:
    12                 Toast.makeText(this,"退",Toast.LENGTH_SHORT).show();
    13                 break;
    14             case 2:
    15                 Toast.makeText(this,"进",Toast.LENGTH_SHORT).show();
    16                 break;
    17         }
    18         return super.onOptionsItemSelected(item);
    19     }
    GitHub:https://github.com/godfunc
    博客园:http://www.cnblogs.com/godfunc
    Copyright ©2019 Godfunc
  • 相关阅读:
    ACM ICPC 2008–2009 NEERC MSC A, B, C, G, L
    POJ 1088 滑雪 DP
    UVA 11584 最短回文串划分 DP
    POJ 2531 Network Saboteur DFS+剪枝
    UVa 10739 String to Palindrome 字符串dp
    UVa 11151 Longest Palindrome 字符串dp
    UVa 10154 Weights and Measures dp 降维
    UVa 10271 Chopsticks dp
    UVa 10617 Again Palindrome 字符串dp
    UVa 10651 Pebble Solitaire 状态压缩 dp
  • 原文地址:https://www.cnblogs.com/Godfunc/p/6069178.html
Copyright © 2011-2022 走看看