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;
}
}
}

更多相关文章

  1. Android网络操作
  2. android折叠展开列表测试
  3. 智能手机软件平台 Android VS iPhone OS: 商业模式分析 (2/4)
  4. android之PopUpWindow显示Listview(文件列表)
  5. 移除Android中的安全模式
  6. [Android GMS 认证] CTS 问题列表之 CtsAutoFillServiceTestCase
  7. android SD 卡写操作
  8. android之SQlite创建数据库操作
  9. Android键盘操作响应

随机推荐

  1. android视频播放简单实现(VideoView&Media
  2. 快过年了,推荐款好应用
  3. Intent的使用
  4. 使用adb时,为什么只有RockChip的ID需要加
  5. Android获取设备唯一ID的方法
  6. Android(安卓)import dalvik.system.VMRu
  7. 活用Android线程间通信的Message机制
  8. SQLite操作
  9. 学习路上的第二个项目:安卓二维码
  10. 上周热点回顾(5.13-5.19)