学习笔记—Fragement +Actionbar

时间:2021-05-01 07:44:16

这里实现的是tabhost类型的菜单选项,还有下拉菜单选项的 http://www.cnblogs.com/hanyuan/archive/2012/04/11/android_actionbar_addingdrop-downnavigation.html

主要过程就是getactionbar 的到actionbar

设置actionbar加载模式

创建tab

创建fragement

给tab加监听tablistener

给actionbar加tab

package com.example.fragement;

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.app.ActionBar.Tab;
import android.app.ActionBar.TabListener;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.graphics.drawable.Drawable;
import android.view.Menu;
import android.view.View; public class MainActivity extends Activity {
FragementA a;
@SuppressLint("NewApi")
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到actionbar
ActionBar actionbar=getActionBar();
//设置actionbar的操作模式
//tab模式
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//创建tab
Tab xufeng=actionbar.newTab().setText("徐风");
Tab chenkai=actionbar.newTab().setText("陈凯");
// 将Activity的头部去掉
actionbar.setDisplayShowTitleEnabled(false);
//实例化Fragement
a=new FragementA();
FragementB b=new FragementB();
//添加监听
xufeng.setTabListener(new tablistener(a));
chenkai.setTabListener(new tablistener(b));
//添加TAB
actionbar.addTab(xufeng);
actionbar.addTab(chenkai);
}
@SuppressLint("NewApi")
class tablistener implements TabListener{ Fragment fg;
public tablistener(Fragment a) {
// TODO Auto-generated constructor stub
this.fg=a;
} @Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub } @Override
public void onTabSelected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
//tab 选中时 用对应的Fragement
arg1.replace(R.id.content, fg);
} @Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
arg1.remove(fg);
} }
}
package com.example.fragement;

import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView; @SuppressLint("NewApi")
public class FragementA extends Fragment { @Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState); }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view=inflater.inflate(R.layout.activity_main, null);
((TextView)(view.findViewById(R.id.text))).setText("徐风");
return view;
} }