您的位置:首页 > 移动开发 > Android开发

(Android 基础知识) ActionBar.Tab---导航Tab(标签)

2013-09-05 10:49 211 查看
ActionBar.Tab简介:

标题栏中的选项卡,负责Fragment(片段)的隐藏和显示



核心代码:

package com.rf.actionbardemo;

import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;

public class FirstActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.first);
		// ActionBar实例化
		final ActionBar actionBar = getActionBar();
		// 添加Tab导航
		// ActionBar 启动导航栏
		actionBar.setNavigationMode(ActionBar.N***IGATION_MODE_TABS);
		actionBar.setDisplayShowTitleEnabled(false);
		// 添加相关的Tab页面
		ActionBar.Tab tabA = actionBar.newTab().setText("A Tab");
		ActionBar.Tab tabB = actionBar.newTab().setText("B Tab");
		ActionBar.Tab tabC = actionBar.newTab().setText("C Tab");
		// 添加事务片段
		Fragment fragmentA = new MyFragment();
		Fragment fragmentB = new MyFragment();
		Fragment fragmentC = new MyFragment();
		// 导航标签添加监听器
		tabA.setTabListener(new MyTabListener(fragmentA));
		tabB.setTabListener(new MyTabListener(fragmentB));
		tabC.setTabListener(new MyTabListener(fragmentC));
		// 标题栏添加导航标签
		actionBar.addTab(tabA);
		actionBar.addTab(tabB);
		actionBar.addTab(tabC);

	}

	public class MyTabListener implements ActionBar.TabListener {
		// 添加事务片段
		private Fragment fragment;

		// 相关的构造函数
		public MyTabListener(Fragment fragment) {
			super();
			this.fragment = fragment;
		}

		@Override
		public void onTabReselected(Tab tab, FragmentTransaction ft) {
			// TODO Auto-generated method stub
			// 事务片段的添加
			ft.add(R.id.start, fragment, null);

		}

		@Override
		public void onTabSelected(Tab tab, FragmentTransaction ft) {
			// TODO Auto-generated method stub

		}

		@Override
		public void onTabUnselected(Tab tab, FragmentTransaction ft) {
			// TODO Auto-generated method stub

		}

	}

}


事务片段代码:

package com.rf.actionbardemo;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

//自定义的事务片段
public class MyFragment extends Fragment {
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		// 布局样式文件
		return inflater.inflate(R.layout.firsts, container, false);
	}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐