a top-right popup menu like qq for android.

Min SDK   14
Latest Commit   2017-09-15 07:05:47
License   

Github   https://github.com/zaaach/TopRightMenu

         

Using app client to scan QR code to run Demo


         

Similarily...
Droppy A simple yet-powerful and fully customizable Android drop-down menu. It supports Text with/without Icons, Separators, and even fully customized views.
BoomMenu A menu which can ... BOOM! - Android
AndroidResideMenu The idea of ResideMenu is from Dribbble 1 and 2. It has come true and run in iOS devices. iOS ResideMenu This project is the RefsideMenu Android version. The visual effect is partly referred to iOS version of Reside
README

README.md

TopRightMenu

Platform

类似手机QQ界面右上角的弹出菜单,使用recyclerviewpopupwindow封装了一下.

废话不多说,先看效果图:

Gif

image

图片中看起来比较卡顿,但真机运行是正常的.

APK

下载demo.apk体验.

Install

Gradle:

compile 'com.zaaach:toprightmenu:1.0'

or Maven:

<dependency>
  <groupId>com.zaaach</groupId>
  <artifactId>toprightmenu</artifactId>
  <version>1.0</version>
  <type>pom</type>
</dependency>

or 下载library手动导入.

Usage

mTopRightMenu = new TopRightMenu(MainActivity.this);

//添加菜单项
List<MenuItem> menuItems = new ArrayList<>();
menuItems.add(new MenuItem(R.mipmap.multichat, "发起多人聊天"));
menuItems.add(new MenuItem(R.mipmap.addmember, "加好友"));
menuItems.add(new MenuItem(R.mipmap.qr_scan, "扫一扫"));

mTopRightMenu
        .setHeight(480)     //默认高度480
        .setWidth(320)      //默认宽度wrap_content
        .showIcon(true)     //显示菜单图标,默认为true
        .dimBackground(true)        //背景变暗,默认为true
        .needAnimationStyle(true)   //显示动画,默认为true
        .setAnimationStyle(R.style.TRM_ANIM_STYLE)
        .addMenuList(menuItems)
        .addMenuItem(new MenuItem(R.mipmap.facetoface, "面对面快传"))
        .addMenuItem(new MenuItem(R.mipmap.pay, "付款"))
        .setOnMenuItemClickListener(new TopRightMenu.OnMenuItemClickListener() {
              @Override
              public void onMenuItemClick(int position) {
                  Toast.makeText(MainActivity.this, "点击菜单:" + position, Toast.LENGTH_SHORT).show();
              }
        })
        .showAsDropDown(moreBtn, -225, 0);	//带偏移量
//      		.showAsDropDown(moreBtn)

OK, 拿去玩耍 ~