BottomNavigationBar+ViewPager+fragment

来源:互联网 发布:如何做好数据 编辑:程序博客网 时间:2024/05/22 14:59

  1. 首先,你要导入依赖compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.0'

布局:

<LinearLayout    android:id="@+id/activity_main"    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">    <android.support.v4.view.ViewPager        android:id="@+id/vp"        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="wrap_content"        android:layout_gravity="bottom"/></LinearLayout>
主代码:

public class MainActivity extends AppCompatActivity{    private List<Fragment> list=new ArrayList<>();    private BottomNavigationBar mBottomNavigationBar;    private ViewPager vp;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        list.add(new fragment1());        list.add(new fragment2());        list.add(new fragment3());        list.add(new fragment4());        vp = (ViewPager) findViewById(R.id.vp);        mBottomNavigationBar = (BottomNavigationBar) findViewById(R.id.bottom_navigation_bar);        setBottomNavigationBar();        vp.setAdapter(new Myadapter(getSupportFragmentManager(),list,this));        vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {            }            @Override            public void onPageSelected(int position) {                mBottomNavigationBar.selectTab(position);            }            @Override            public void onPageScrollStateChanged(int state) {            }        });    }    private void setBottomNavigationBar() {        mBottomNavigationBar.setMode(BottomNavigationBar.MODE_FIXED);        mBottomNavigationBar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);        mBottomNavigationBar.setBarBackgroundColor(android.R.color.white);        BadgeItem badgeItem = new BadgeItem()                .setBackgroundColor(Color.RED).setText("99")//设置角标内容                .setHideOnSelect(true); //设置被选中时隐藏角标        mBottomNavigationBar                .setActiveColor(R.color.colorAccent) //设置选中的颜色                .setInActiveColor(R.color.colorPrimary);//未选中颜色        mBottomNavigationBar.addItem(new BottomNavigationItem(R.mipmap.ic_nav_cart,                "首页"))//添加图标和文字                .addItem(new BottomNavigationItem(R.mipmap.ic_nav_class, "店铺"))                .addItem(new BottomNavigationItem(R.mipmap.ic_nav_home, "购物车"))                .addItem(new BottomNavigationItem(R.mipmap.ic_nav_user, "我的")                        .setBadgeItem(badgeItem))                .initialise();        //设置点击事件        mBottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener(){            @Override            public void onTabSelected(int position) {                vp.setCurrentItem(position);            }            @Override            public void onTabUnselected(int position) {            }            @Override            public void onTabReselected(int position) {            }        });    }}

原创粉丝点击