当前位置: 代码迷 >> Android >> Android开发之ActionBar组合Fragment的导航功能的使用(源代码分享)
  详细解决方案

Android开发之ActionBar组合Fragment的导航功能的使用(源代码分享)

热度:18   发布时间:2016-04-28 06:18:31.0
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	}}


  相关解决方案