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

Android Fragment 学习<2> 滑动TAb导航(无ActionBar)

2014-06-26 11:00 363 查看
在主布局中定义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;

}

}

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