Android 仿微信底部菜单栏实现(androidx)

简介

最近项目需要一个底部菜单栏的翻页功能,类似微信点击"+"弹出的菜单列表,想着以后可能还会在其他的地方用到,于是将其抽出来做成一个单独的功能,方便后续引用开发,具体实现请参照:
[自定义底部翻页菜单栏]https://github.com/zhengjh3/BottomMenuView.git

功能预览

  • ViewPager + GridView 实现的仿微信底部菜单栏自定义View,使用简单
  • 支持分页,支持设置每页的横排和竖排菜单数量
  • 支持自定义翻页的指示器样式

BottomMenuView

使用方法示例:

1、项目build.gradle中配置jitpack:

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

2、添加版本依赖(版本后续可能有更新):

dependencies {
            implementation 'com.github.zhengjh3:BottomMenuView:1.0.0'
    }

3、在布局中加入BottomMenuView:


4、在代码中构造菜单数据,设置监听事件:

 public void initBottomMenus() {
        bottomMenusView = findViewById(R.id.view_bottom_menus);
        List listMenu = new ArrayList<>();
        listMenu.add(new Menu("路飞", R.drawable.lufei));
        listMenu.add(new Menu("罗宾", R.drawable.luobin));
        listMenu.add(new Menu("索隆", R.drawable.suolong));
        listMenu.add(new Menu("布鲁克", R.drawable.buluke));
        listMenu.add(new Menu("雷利", R.drawable.leili));
        listMenu.add(new Menu("萨波", R.drawable.sabo));
        listMenu.add(new Menu("路飞", R.drawable.lufei));
        listMenu.add(new Menu("罗宾", R.drawable.luobin));
        listMenu.add(new Menu("索隆", R.drawable.suolong));
        listMenu.add(new Menu("布鲁克", R.drawable.buluke));
        listMenu.add(new Menu("雷利", R.drawable.leili));
        listMenu.add(new Menu("萨波", R.drawable.sabo));
        bottomMenusView.setDatas(listMenu);
        bottomMenusView.setOnMenuListener(new BottomMenusView.OnMenuListener() {
            @Override
            public void onClickMenu(Menu menu) {
                Toast.makeText(MainActivity.this, "点击" + menu.getName(), Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onLongClickMenu(Menu menu) {
                Toast.makeText(MainActivity.this, "长按" + menu.getName(), Toast.LENGTH_SHORT).show();
            }
        });
    }

5、效果图:

效果图1.png
效果图2.png

属性说明:

在布局中可使用如下属性,也可不指定使用默认样式:


        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

你可能感兴趣的:(Android 仿微信底部菜单栏实现(androidx))