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. TextView 最多显示2行,每行最多8个字,多余的显示....
  2. Android的TextView/EditText使用CharacterStyle&SpannableString
  3. Android应用开发——TextView控件属性列表
  4. Android中系统状态栏的隐藏和显示
  5. Android重要类学习之——Activity
  6. Android实现程序前后台切换效果
  7. android软键盘的显示后隐藏
  8. 在Activity中使用Menu
  9. 2013.12.05(5)——— android ViewPagerIndicator之SampleTabsDefa

随机推荐

  1. Android 实现扫雷小游戏实例代码
  2. Android(安卓)NDK
  3. 当scroll时改变item的背景
  4. Android 实践项目开发 总结
  5. Android Studio常见布局报错及解决方案
  6. eclipse中android的安装
  7. activity页面切换效果
  8. Android——ViewGroup的一个用法实例
  9. android之Android中的SQL查询语句LIKE绑
  10. [置顶] Android使用主题配置文件,去掉程序