Android开发之ActionBar组合Fragment的导航功能的使用(源代码分享)
Android开发之ActionBar结合Fragment的导航功能的使用(源代码分享)
标签在操作栏方便用户去探索,在你的应用程序在不同视图之间切换。ActionBar提供的标签是最理想的选择,因为他们适应不同的屏幕尺寸。一旦你确定了Fragment出现在布局里,添加标签的步骤如下:一:继承ActionBar.TabListener接口,控制哪个标签被选中,进而切换布局;二:对于每一个您想要添加标签,实例化一个ActionBar,选项卡调用setTabListener TabListener(),此外还可设置标签的标题和的setText()(和一个图标setIcon())等等;三:addTab();
MainActivity的源代码如下
package com.example.f19_fragment07; import android.os.Bundle; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.ActionBar.TabListener; import android.app.Activity; import android.app.FragmentTransaction; public class MainActivity extends Activity implements TabListener { private ActionBar actionBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);//必须要有这个方法设置其属性 actionBar.setDisplayShowTitleEnabled(false); ActionBar.Tab tab = actionBar.newTab().setText("信息管理") .setIcon(R.drawable.a).setTabListener(this).setTag("1"); ActionBar.Tab tab2 = actionBar.newTab().setText("运动管理") .setIcon(R.drawable.a).setTabListener(this).setTag("2"); ActionBar.Tab tab3 = actionBar.newTab().setText("系统管理") .setIcon(R.drawable.a).setTabListener(this).setTag("3"); actionBar.addTab(tab); actionBar.addTab(tab2); actionBar.addTab(tab3); } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub //通过标签来做识别,是哪个tab被调用了 int flag=Integer.parseInt(tab.getTag().toString()); switch (flag) { case 1: AFragment fragment=new AFragment(); ft.replace(R.id.main, fragment); // 不用使用commit方法提交,其不能使用回退栈机制返回,这里很容易出错 break; case 2: break; case 3: break; } } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } }