自定義 Action Bar

yangxi_001發表於2013-11-13

Action Bar是android3.0以後才引入的,主要是替代3.0以前的menu和tittle bar。在3.0之前是不能使用Action Bar功能的。這裡引入了自定義的Action Bar,自定義Action bar也不是完全實現了 Action bar功能,只是在外形上相似。自定義Action bar沒有實現overflow button(懸浮按鈕)的功能,如果想進一步實現overflow button功能,可參考Android UI開發第十六篇——分享一個popuwindow例項.

xml

  1. <com.nedu.android.widget.ActionBar  
  2.     android:id="@+id/actionbar"  
  3.     app:title="@string/some_title"  
  4.     style="@style/ActionBar"  
  5.        />  

  1. <span style="font-size:18px;"> app:title 可選,也可以在使用時設定,actionBar.setTitle("Home")。</span>  
在Activity中,HomeAction處於Bar的最左側,普通Action處於Bar的最右側

  1. ActionBar actionBar = (ActionBar) findViewById(R.id.actionbar);  
  2. // You can also assign the title programmatically by passing a  
  3. // CharSequence or resource id.  
  4. //actionBar.setTitle(R.string.some_title);  
  5. actionBar.setHomeAction(new IntentAction(this, HomeActivity.createIntent(this), R.drawable.ic_title_home_default));  
  6. actionBar.setDisplayHomeAsUpEnabled(true);  
  7. actionBar.addAction(new IntentAction(this, createShareIntent(), R.drawable.ic_title_share_default));  
  8. actionBar.addAction(new ExampleAction());  
自定義Action
建立自定義Action 僅需要實現一個Action介面,例如ExampleAction:
  1. private class ExampleAction extends AbstractAction {  
  2.   
  3.       public ExampleAction() {  
  4.           super(R.drawable.ic_title_export_default);  
  5.       }  
  6.   
  7.       @Override  
  8.       public void performAction(View view) {  
  9.           Toast.makeText(OtherActivity.this,  
  10.                   "Example action", Toast.LENGTH_SHORT).show();  
  11.       }  
  12.   
  13.   }  

如果想修改UI屬性可修改drawable、layout、values裡面的檔案。



程式碼:http://download.csdn.net/detail/xyz_lmn/4710843


/**
* @author 張興業
* 郵箱:xy-zhang#163.com
* android開發進階群:278401545
*
*/


相關文章