Android:DropPopMenu — 显示位置跟随操作按钮显示的带箭头的弹出菜单

标签: DropPopMenu Android   1245人阅读  评论(0)  收藏  举报   分类: Android(214)   Android_控件相关(20) 

目录(?)[+]

 转载请注明出处:http://blog.csdn.net/hmyang314/article/details/70920295

DropPopMenu

显示位置跟随操作按钮显示的带箭头的弹出菜单

GitHub:https://github.com/HMY314/DropPopMenu


一,介绍

本项目是对带箭头的下拉弹出菜单进行了封装,使用简单,同时有如下特点:    1、可以动态修改菜单的背景;    2、弹出位置是依赖于操作按钮的位置显示,处理了按钮在边界位置引起的菜单显示错位问题;    3、菜单宽度以文字的最大长度作为宽度动态计算了;    4、菜单默认弹窗方向是在操作按钮下面,当操作按钮在屏幕底部时,或者菜单的    高度不能完全显示时,菜单是显示在操作按钮上面的

二,使用

1、默认风格    View view = findViewById......    mDropPopMenu = new DropPopMenu(this);    mDropPopMenu.setOnItemClickListener(new DropPopMenu.OnItemClickListener() {        @Override        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id, MenuItem menuItem) {            Toast.makeText(MainActivity.this, "点击了 " + menuItem.getItemId(), Toast.LENGTH_SHORT).show();        }    });    mDropPopMenu.setMenuList(getMenuList());    mDropPopMenu.show(view);    private List getMenuList() {        List list = new ArrayList<>();        list.add(new MenuItem(1, "选项"));        list.add(new MenuItem(2, "选项选项选项"));        list.add(new MenuItem(3, "选项选项选项选项"));        list.add(new MenuItem(4, "选项选项"));        list.add(new MenuItem(5, "选项选项选项"));        list.add(new MenuItem(5, "选项选项选项选项"));        return list;    }

 


2、改变弹窗背景、文字颜色    public void onClickPopWhite(View view) {        DropPopMenu dropPopMenu = new DropPopMenu(this);        dropPopMenu.setTriangleIndicatorViewColor(Color.WHITE);        dropPopMenu.setBackgroundResource(R.drawable.bg_drop_pop_menu_white_shap);        dropPopMenu.setItemTextColor(Color.BLACK);        dropPopMenu.setOnItemClickListener(new DropPopMenu.OnItemClickListener() {        @Override        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id, MenuItem menuItem) {            Toast.makeText(MainActivity.this, "点击了 " + menuItem.getItemId(), Toast.LENGTH_SHORT).show();        }        });        dropPopMenu.setMenuList(getMenuList());        dropPopMenu.show(view);}

3、显示图标 public void onClickPopIcon(View view) {    DropPopMenu dropPopMenu = new DropPopMenu(this);    dropPopMenu.setTriangleIndicatorViewColor(Color.WHITE);    dropPopMenu.setBackgroundResource(R.drawable.bg_drop_pop_menu_white_shap);    dropPopMenu.setItemTextColor(Color.BLACK);    dropPopMenu.setIsShowIcon(true);    dropPopMenu.setOnItemClickListener(new DropPopMenu.OnItemClickListener() {        @Override        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id, MenuItem menuItem) {            Toast.makeText(MainActivity.this, "点击了 " + menuItem.getItemId(), Toast.LENGTH_SHORT).show();        }    });    dropPopMenu.setMenuList(getIconMenuList());    dropPopMenu.show(view);}private List getIconMenuList() {    List list = new ArrayList<>();    list.add(new MenuItem(R.drawable.ic_honor_level1, 1, "选项1"));    list.add(new MenuItem(R.drawable.ic_honor_level2, 2, "选项2"));    list.add(new MenuItem(R.drawable.ic_honor_level3, 3, "选项3"));    return list;}

更多相关文章

  1. android自定义按钮按下效果
  2. Android横向滑动选项卡
  3. android 长按菜单
  4. Android studio实现按钮的点击事件
  5. 如何避免输入法弹出时遮挡住按钮或输入框
  6. Android腾讯微薄客户端开发十四:首页menu菜单
  7. android recovery模式选项中索引改进
  8. Android 按钮 弹出对话框
  9. android 入门demo Tab选项卡

随机推荐

  1. 4412开发板Android教程——Android平台简
  2. Android(安卓)Building System 分析
  3. NDK编译Android字符界面的可执行程序
  4. android文本布局引擎
  5. Android(安卓)中文api (81)――InputMeth
  6. 基于RTP和Android的视频传输的研究实现方
  7. Android(安卓)Studio Gradle配置详解
  8. 基于“ViewHolder”技术提升Android(安卓
  9. AnDroidDraw.apk的安装
  10. Android高手进阶教程(二十二)之---Androi