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));
}