03_Android ListPopupWindow

ListPopupWindow(v7包下) 类似于内置了一个 ListView 的 PopupWindow,对子菜单的操作更加灵活。

示意图.png

代码实现过程

private void showListPopupWindow(View view) {

        final String items [] = {"0","1","2","3","4","5","6"};
        ListPopupWindow listPopupWindow = new ListPopupWindow(this);

        // 设置适配器
        listPopupWindow.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, items));

        // 设置 item 的监听事件
        listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Toast.makeText(MainActivity.this, items[i], Toast.LENGTH_SHORT).show();
            }
        });

        // 对话框宽高
        listPopupWindow.setWidth(500);  
        listPopupWindow.setHeight(600);  
        // 设置 listPopupWindow 的锚点,即弹出的对话框的位置相对于当前 view 的位置
        listPopupWindow.setAnchorView(view);

        // 距锚 view 的距离
        listPopupWindow.setHorizontalOffset(40);
        listPopupWindow.setVerticalOffset(100);
        // 设置当用户触碰到对话框以外的区域,对话框是否消失
        listPopupWindow.setModal(false);
        listPopupWindow.show();

    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,791评论 25 709
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 47,031评论 22 665
  • 明明有很多事情要做,却不知道该怎么着手。明明是在做自己喜欢做的事,却总觉得不踏实。开始怀疑现在的意义。开始计划着暂...
    向应昌阅读 3,576评论 0 7
  • 放暑假回家休息,恰逢之前投的两个国企实习生面试,时间刚好撞车,赶不回去,遂略带遗憾和无奈的放弃。终于说服自己先找个...
    glacier2016阅读 3,073评论 0 0
  • 无人为孤岛,一书一世界。-- 《岛上书店》。 小的时候喜欢读书,没有多少书,就读哥哥的课本,初中的时候零花钱都用来...
    大春兄弟阅读 3,610评论 1 4