androidのActionbar

androidのActionbar
1. ActionBar关键属性
   //获取ActionBar代码需写在setContentView方法后
   ActionBar actionBar = getActionBar();
    //设置操作栏导航下拉列表模式 
   actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
   //设置操作栏导航Tab模式
  actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
   //实现返回主页需添加
  actionBar.setHomeButtonEnabled(true);
这个属性使用需要添加:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
   Intent intent = new Intent(this, MainActivity2.class);
   intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
   startActivity(intent);
   return true;
default:
   return super.onOptionsItemSelected(item);
}
}
  //隐藏actionbar 图标旁title文本
  actionBar.setDisplayShowTitleEnabled(false);

2. 关键代码
public class ActionBarTestActivity extends Activity {
private static final String TAG = "ActionBarTestActivity";       
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contents);

     //资源布局的获取必须在调用之前actionBar.setListNavigationCallbacks()定义,否则会报空指针异常
     SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.action_list,                             android.R.layout.simple_spinner_dropdown_item);
           
    //获取ActionBar代码需写在setContentView方法后
    ActionBar actionBar = getActionBar();

    //设置操作栏导航下拉列表模式
   actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

    //设置导航列表回调响应
   actionBar.setListNavigationCallbacks(mSpinnerAdapter, new mNavigationCallback());

    //实现返回主页需添加
   actionBar.setHomeButtonEnabled(true);
   Log.i(TAG, "height"+actionBar.getHeight()); //打印actionbar高度
      
   Tab tab = actionBar.newTab().setText(R.string.tab1).setTabListener(
               new TabListener<tab1Fragment>(this, "tab1", tab1Fragment.class));
           actionBar.addTab(tab);
       
           tab = actionBar.newTab().setText(R.string.tab2).setTabListener(
               new TabListener<tab2Fragment>(this, "tab2", tab2Fragment.class));
           actionBar.addTab(tab);
       
           tab = actionBar.newTab().setText(R.string.tab3).setTabListener(
               new TabListener<tab3Fragment>(this, "tab3", tab3Fragment.class));
           actionBar.addTab(tab);         
    }
    
    //为操作栏添加菜单
    public boolean onCreateOptionsMenu(Menu menu) {  
       MenuInflater inflater = getMenuInflater();
       inflater.inflate(R.menu.menus, menu);
       return true;
    } 
    
    @Override
   public boolean onOptionsItemSelected(MenuItem item) {
     switch(item.getItemId()){
     case android.R.id.home:
     Intent intent = new Intent(this, MainActivity.class);
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
     startActivity(intent);
     return true;
     default:
     return super.onOptionsItemSelected(item);
     }
   }

   //下拉列表导航的监听类
   public class mNavigationCallback implements ActionBar.OnNavigationListener{   
String[] listNames = getResources().getStringArray(R.array.action_list);
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
ListFragment listFragment = new ListFragment();
FragmentManager manager = getFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.titles, listFragment, listNames[itemPosition]);
ft.commit();
return true;
}   
   }
}

你可能感兴趣的:(android,Actionbar)