Android 底部导航栏的使用 fragment

Android 底部导航栏的使用 fragment

分类:Android移动开发

一、初始化各项组件

private void initViews() {viewPager = (ViewPager) findViewById(R.id.view_pager);imgDynamic = (ImageView) findViewById(R.id.tab_dynamic_get);imgMsg = (ImageView) findViewById(R.id.tab_msg_get);imgExam = (ImageView) findViewById(R.id.tab_exam_get);imgMe = (ImageView) findViewById(R.id.tab_me);viewPager.setOffscreenPageLimit(6);imgExam.setOnClickListener(new ImgOnClickListener(0));imgDynamic.setOnClickListener(new ImgOnClickListener(1));imgMsg.setOnClickListener(new ImgOnClickListener(2));imgMe.setOnClickListener(new ImgOnClickListener(3));}二、在list里添加各个fragment(每个标签页的界面)private void initAllFragments() {// 将Fragment添加到List中fragments = new ArrayList<Fragment>();examFragment = new ExamFragment();fragments.add(examFragment);similarFragment=new SimilarPeopleFragment();fragments.add(similarFragment); =new DiscoverFragment();fragments.add(faxianFragment);messageFragment = new MessageFragment();fragments.add(messageFragment);friendListFragment = new FriendListFragment();fragments.add(friendListFragment);meFragment = new MeFragment();fragments.add(meFragment);// 设置AdaptermyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(),fragments);viewPager.setAdapter(myFragmentPagerAdapter);// 设置初始页面,并设置tab效果viewPager.setCurrentItem(0);imgExam.setImageResource(R.drawable.tab_exam_press);// 设置切换的监听器viewPager.setOnPageChangeListener(new MyPagerChangeListener());}/** * 点击底部tab时的切换监听器 */private class ImgOnClickListener implements View.OnClickListener {private int index = -1;// private ViewPager viewPagerGet;public ImgOnClickListener(int index) {this.index = index;// this.viewPagerGet = viewPagerGet;}@Overridepublic void onClick(View v) {if (index==0) {viewPager.setCurrentItem(index, false);} if(index==1||index==2){viewPager.setCurrentItem(index + 1, false);}if(index==3){viewPager.setCurrentItem(index+2,false);}}}/** * tab切换时的监听器 */private class MyPagerChangeListener implements ViewPager.OnPageChangeListener {@Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}@Overridepublic void onPageSelected(int position) {switch (position) {case 0:/* if (currentIndex == 0) {imgDynamic.setImageResource(R.drawable.tab_dynamic);} else if (currentIndex == 1 || currentIndex == 2) {imgMsg.setImageResource(R.drawable.tab_message);} else if (currentIndex == 4) {imgMe.setImageResource(R.drawable.tab_me);}*/imgDynamic.setImageResource(R.drawable.tab_dynamic);imgMsg.setImageResource(R.drawable.tab_message);imgMe.setImageResource(R.drawable.tab_me);imgExam.setImageResource(R.drawable.tab_exam_press);setExamActionBar();setExamExam();break;case 1:/* if (currentIndex == 0) {imgDynamic.setImageResource(R.drawable.tab_dynamic);} else if (currentIndex == 1 || currentIndex == 2) {imgMsg.setImageResource(R.drawable.tab_message);} else if (currentIndex == 4) {imgMe.setImageResource(R.drawable.tab_me);}*/imgDynamic.setImageResource(R.drawable.tab_dynamic);imgMsg.setImageResource(R.drawable.tab_message);imgMe.setImageResource(R.drawable.tab_me);imgExam.setImageResource(R.drawable.tab_exam_press);setExamActionBar();setExamSimilar();break;case 2:imgMsg.setImageResource(R.drawable.tab_message);imgExam.setImageResource(R.drawable.tab_exam);imgMe.setImageResource(R.drawable.tab_me);imgDynamic.setImageResource(R.drawable.tab_dynamic_press);setDynamicActionBar();break;case 3:/* if (currentIndex == 0) {imgDynamic.setImageResource(R.drawable.tab_dynamic);} else if (currentIndex == 3) {imgExam.setImageResource(R.drawable.tab_exam);} else if (currentIndex == 4) {imgMe.setImageResource(R.drawable.tab_me);} else {}*/imgDynamic.setImageResource(R.drawable.tab_dynamic);imgExam.setImageResource(R.drawable.tab_exam);imgMe.setImageResource(R.drawable.tab_me);imgMsg.setImageResource(R.drawable.tab_message_press);setMesActionBar();setMes();break;case 4:/* if (currentIndex == 0) {imgDynamic.setImageResource(R.drawable.tab_dynamic);} else if (currentIndex == 3) {imgExam.setImageResource(R.drawable.tab_exam);} else if (currentIndex == 4) {imgMe.setImageResource(R.drawable.tab_me);} else {}*/imgDynamic.setImageResource(R.drawable.tab_dynamic);imgExam.setImageResource(R.drawable.tab_exam);imgMe.setImageResource(R.drawable.tab_me);imgMsg.setImageResource(R.drawable.tab_message_press);setMesActionBar();setFriend();break;case 5:/*if (currentIndex == 0) {imgDynamic.setImageResource(R.drawable.tab_dynamic);} else if (currentIndex == 1 || currentIndex == 2) {imgMsg.setImageResource(R.drawable.tab_message);} else if (currentIndex == 3) {imgExam.setImageResource(R.drawable.tab_exam);}*/imgDynamic.setImageResource(R.drawable.tab_dynamic);imgMsg.setImageResource(R.drawable.tab_message);imgExam.setImageResource(R.drawable.tab_exam);imgMe.setImageResource(R.drawable.tab_me_press);setSelfMesActionBar();break;}currentIndex = position;}@Overridepublic void onPageScrollStateChanged(int state) {}}/** * 点击底部tab时的切换监听器 */private class ImgOnClickListener implements View.OnClickListener {private int index = -1;// private ViewPager viewPagerGet;public ImgOnClickListener(int index) {this.index = index;// this.viewPagerGet = viewPagerGet;}@Overridepublic void onClick(View v) {if (index==0) {viewPager.setCurrentItem(index, false);} if(index==1||index==2){viewPager.setCurrentItem(index + 1, false);}if(index==3){viewPager.setCurrentItem(index+2,false);}}}** * 设置Fragment显示的Adapter * Created by lsy on 15-2-13. */public class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {private ArrayList<Fragment> list; /* private Context context;*/MyFragmentPagerAdapter(FragmentManager fm) {super(fm);}public MyFragmentPagerAdapter(FragmentManager fm, ArrayList<Fragment> list) {super(fm);this.list = list;}/* public MyFragmentPagerAdapter(ArrayList<Fragment> list,Context context){this.list = list;this.context = context;}*/@Overridepublic Fragment getItem(int position) {return list.get(position);}@Overridepublic int getCount() {return list.size();}@Overridepublic int getItemPosition(Object object) {return super.getItemPosition(object);}}当遗忘变成另一种开始,淡了回忆,痛最真实…

Android 底部导航栏的使用 fragment

相关文章:

你感兴趣的文章:

标签云: