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

小虾米 阅读:568 2021-04-01 10:12:37 评论:0

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.NAVIGATION_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); 
	} 
 
} 


 

标签:Android
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号