本文主要是介绍BottomNavigationBar+viewpage+fragment 底部导航,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Mainactivity的布局文件
<android.support.v4.view.ViewPagerandroid:id="@+id/viewPager"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1" /><com.ashokvarma.bottomnavigation.BottomNavigationBar
android:id="@+id/bottom_navigation_bar"android:layout_width="match_parent"android:layout_height="49dp" />
enter code here
MainActivity引入Viewpager
viewPager = (ViewPager) findViewById(R.id.viewPager);if (fragments == null) {fragments = new ArrayList<Fragment>();fragments.add(new HomeFragment());fragments.add(new HomeFragment());fragments.add(new HomeFragment());}mainAdapter = new MainAdapter(getSupportFragmentManager(), fragments);viewPager.setAdapter(mainAdapter);viewPager.addOnPageChangeListener(this);viewPager.setCurrentItem(0);
enter code here
ViewPager的适配器
public class MainAdapter extends FragmentPagerAdapter {private List<Fragment> mFragmentList;public MainAdapter(FragmentManager fm, List<Fragment> mFragmentList) {super(fm);this.mFragmentList = mFragmentList;}@Overridepublic Fragment getItem(int position) {return mFragmentList.get(position);}@Overridepublic int getCount() {return mFragmentList.size();}@Overridepublic int getItemPosition(Object object) {return POSITION_NONE;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {
// container.removeView((View) object);super.destroyItem(container, position, object);}}enter code here
底部导航条BottomNavigationBar
private void initBottomNavigationBar() {bottomNavigationBar = (BottomNavigationBar) findViewById(R.id.bottom_navigation_bar);bottomNavigationBar.setTabSelectedListener(this);bottomNavigationBar.clearAll();bottomNavigationBar.setMode(BottomNavigationBar.MODE_FIXED);bottomNavigationBar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);bottomNavigationBar.addItem(new BottomNavigationItem(R.mipmap.app_home_two, "首页").setInactiveIconResource(R.mipmap.app_home_one).setActiveColorResource(R.color.common_color_text_blue)).addItem(new BottomNavigationItem(R.mipmap.app_shopping_two, "购物车").setInactiveIconResource(R.mipmap.app_shopping_one).setActiveColorResource(R.color.common_color_text_blue)).addItem(new BottomNavigationItem(R.mipmap.app_mine_two, "我的").setInactiveIconResource(R.mipmap.app_mine_one).setActiveColorResource(R.color.common_color_text_blue)).initialise();}
enter code here
Viewpager关联BottomNavigationBar
@Overridepublic void onPageSelected(int position) {System.out.println("MainActivity" + "onPageSelected" + position);//ViewPager滑动bottomNavigationBar.selectTab(position);}
enter code here
BottomNavigationBar关联Viewpager
@Overridepublic void onTabSelected(int position) {System.out.println("MainActivity" + "onTabSelected" + position);//tab被选中viewPager.setCurrentItem(position);}
enter code here
Fragment
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {return inflater.inflate(R.layout.fragment_first,container,false);
enter code here
这篇关于BottomNavigationBar+viewpage+fragment 底部导航的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!