仿QQ弹出复制操作框

来源:互联网 发布:line聊天软件 编辑:程序博客网 时间:2024/05/22 14:21

popupwindow空间实现
popupWindow.showAtLocation需要传递一个view过去

  private void showPopupWindow(final EMMessage message, View view) {        // 一个自定义的布局,作为显示的内容        View contentView = LayoutInflater.from(getContext()).inflate(                R.layout.pop_window, null);        // 设置按钮的点击事件        TextView button = (TextView) contentView.findViewById(R.id.pop_text);        final PopupWindow popupWindow = new PopupWindow(contentView,                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);        popupWindow.setTouchable(true);        //         popupWindow.setBackgroundDrawable(getResources().getDrawable(                R.drawable.radius_background_chat_copy));        // 设置好参数之后再show        int[] location = new int[2];        view.getLocationOnScreen(location);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(getContext(), "button is pressed",                        Toast.LENGTH_SHORT).show();                if (message.getType().name().equals("TXT")) {                    ClipboardManager clipboardManager = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);                    String temp = message.getBody().toString();                    String temp1[] = temp.split(":");                    String clipTemp = temp1[1].substring(1, temp1[1].length() - 1);                    clipboardManager.setText(clipTemp);                    Toast.makeText(getContext(), "已将复制到剪贴板", Toast.LENGTH_SHORT).show();                }                popupWindow.dismiss();            }        });        popupWindow.showAtLocation(view, Gravity.NO_GRAVITY, location[0], location[1] - popupWindow.getHeight() - UtilsTool.dip2px(getContext(), 25));    }
0 0
原创粉丝点击