在主布局中定义ActionBar,首先在menifest配置文件中
android:theme="@android:style/Theme.Light.NoTitleBar"
在布局中定义tab textview,然后再代码中绑定click监听。然后定义一个Viewpage滑动fragment。
public class MainActivityextends FragmentActivity {
private ViewPagervp;
private TextViewmTabOne;
private TextViewmTabTwo;
private ArrayList<Fragment>mFragmentList;
@Override
protectedvoid onCreate(Bundle bundle) {
// TODO Auto-generated method stub
super.onCreate(bundle);
setContentView(R.layout.main_layout);
vp = (ViewPager) findViewById(R.id.fragment_viewpage);
vp.setOnPageChangeListener(new MyViewPageChangeListener());
mFragmentList =new ArrayList<Fragment>();
mFragmentList.add(new FragmentRed());
mFragmentList.add(new FragmentBlue());
MyFragmentAdapter mfa = new MyFragmentAdapter(getSupportFragmentManager(), mFragmentList);
vp.setAdapter(mfa);
mTabOne = (TextView) findViewById(R.id.tab_one);
mTabTwo = (TextView) findViewById(R.id.tab_two);
mTabOne.setOnClickListener(new MyOnClickListener(0));
mTabTwo.setOnClickListener(new MyOnClickListener(1));
}
privateint tabFocus = 0;
private class MyOnClickListener implements OnClickListener{
privateint focus = 0;
public MyOnClickListener(int flag){
this.focus = flag;
}
@Override
public void onClick(View v) {
if(focus == 0){
vp.setCurrentItem(0);
}
else if(focus == 1){
vp.setCurrentItem(1);
}
}
}
private class MyFragmentAdapter extends FragmentPagerAdapter{
private ArrayList<Fragment>list;
public MyFragmentAdapter(FragmentManager fm,ArrayList<Fragment> list) {
super(fm);
this.list = list;
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return list.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
}
private class MyViewPageChangeListener implements OnPageChangeListener{
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
switch (arg0) {
case 0:
if(tabFocus == 1){
mTabTwo.setTextColor(getResources().getColor(R.color.lightwhite));
}
mTabOne.setTextColor(getResources().getColor(R.color.white));
break;
case 1:
if(tabFocus == 0){
mTabOne.setTextColor(getResources().getColor(R.color.lightwhite));
}
mTabTwo.setTextColor(getResources().getColor(R.color.white));
break;
default:
break;
}
tabFocus = arg0;
}
}
}