ActionBar总结1_实现menu,Navigate up

2014-11-24 11:55:57 · 作者: · 浏览: 0

例子见资源(不需要资源积分)

主要内容:

    使用action bar的menu

    Navigating Up with the App Icon

使用action bar的menu


效果:
enter image description here


实现:

    在menu资源中创建一个xml,添加action buttons到action bar中

       
        
        
        
        
    
       

      Activity的onCreateOptionsMenu()使用创建的xml。

      public boolean onCreateOptionsMenu(Menu menu) {
              MenuInflater inflater = getMenuInflater();
              inflater.inflate(R.menu.action_button, menu);
              return super.onCreateOptionsMenu(menu);
       }

        响应action buttons

         public boolean onOptionsItemSelected(MenuItem item) {
                // TODO Auto-generated method stub
                switch (item.getItemId()) {
                case R.id.search:
                    /*点击 seace action button时做相应处理的代码*/
                    return true;
                case R.id.share:
                    /*点击 share action button时做相应处理的代码*/
                    return true;
                default:            
                    return onOptionsItemSelected(item);
                }   
         }

        注意:

          使用action bar要包含Theme.Holo相关的theme。

          上面代码要求android:minSdkVersion不小于11,为了支持低版本的设备,可以参阅“官方资料链接”的内容。


        效果:
        enter image description here


        当按下标题栏中的“<” 就会回到原来的页面

        实现:

          AndroidManifest.xml中设置logical parent

            
                
            
            
                
                  
                 
            
                

            调用setDisplayHomeAsUpEnabled()来开启up button

            public class NavigateUpActivity extends Activity {
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_navigate_up);
            
                    //To allow Up navigation with the app icon in the action bar
                    getActionBar().setDisplayHomeAsUpEnabled(true);
             }

              在Activity的onOptionsItemSelected()方法中设置taction bar’s Up button响应

              public boolean onOptionsItemSelected(MenuItem item) {
                      // TODO Auto-generated method stub
                      switch (item.getItemId()) {
                      case android.R.id.home:
                          //Respond to the action bar's Up/Home button
                           NavUtils.navigateUpFromSameTask(this);
                           return true;
                      }
                      return super.onOptionsItemSelected(item);
               }