80,351
社区成员
发帖
与我相关
我的任务
分享
View contentView = View.inflate(this, R.layout.popup_contact_detail, null);
mBmivMove = (RelativeLayout) contentView.findViewById(R.id.pop_contact_detail_move);
pop_contact_detail_share = (RelativeLayout) contentView.findViewById(R.id
.pop_contact_detail_share);
mBmivMove.setOnClickListener(this);
pop_contact_detail_share.setOnClickListener(this);
contentView.measure(0, 0);
int width = contentView.getMeasuredWidth();
int height = contentView.getMeasuredHeight();
mPopupWindow = new PopupWindow(contentView, width, height);
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
int diffX = screenWidth - width - 10;
mPopupWindow.setFocusable(true);
mPopupWindow.setOutsideTouchable(true);
mPopupWindow.setBackgroundDrawable(new ColorDrawable());
mPopupWindow.showAsDropDown(mRlTitle, diffX, 4);
弹出Dialog
mPopupWindow.dismiss();
if (!mPopupWindow.isShowing()) {
dialog = new CustomBottomDialog(TempContactDetailActivity.this, R
.layout.popup_brand_share, button_id);
dialog.show();
// dialog.dismiss();
dialog.setButtonOnClickListener(new CustomBottomDialog.ButtonOnClickListener() {
@Override
public void buttonOnClick(View v) {
switch (v.getId()) {
//微信朋友圈分享
case R.id.share_friends_btn:
Toast.makeText(getApplicationContext(), "微信朋友圈分享", Toast
.LENGTH_LONG).show();
break;
//微信分享
case R.id.share_wechat_btn:
Toast.makeText(getApplicationContext(), "微信分享", Toast
.LENGTH_LONG).show();
break;
//qq分享
case R.id.share_qq_btn:
Toast.makeText(getApplicationContext(), "qq分享", Toast
.LENGTH_LONG).show();
break;
//qq空间分享
case R.id.share_qq_space_btn:
Toast.makeText(getApplicationContext(), "qq空间分享", Toast
.LENGTH_LONG).show();
break;
//短信分享
case R.id.share_message_btn:
Toast.makeText(getApplicationContext(), "短信分享", Toast
.LENGTH_LONG).show();
break;
case R.id.cancelBtn:
dialog.dismiss();
break;
}
}
});
}
Dialog的代码
public class CustomDialog extends Dialog {
private IsShowListener mIsShowListener;
private TextView tv_dialog_edit_sex_cancel;
private int resID;
public CustomDialog(Context context, @LayoutRes int resId) {
super(context, R.style.EditSexDialogStyle);
this.resID = resId;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(resID);
WindowManager.LayoutParams params = getWindow().getAttributes();
WindowManager manager = getWindow().getWindowManager();
Display display = manager.getDefaultDisplay();
params.gravity = Gravity.BOTTOM;
params.width = display.getWidth();
getWindow().setAttributes(params);
initView();
initEvent();
}
private void initView() {
tv_dialog_edit_sex_cancel = (TextView) findViewById(R.id.tv_dialog_edit_sex_cancel);
}
private void initEvent() {
tv_dialog_edit_sex_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
}
@Override
public void show() {
super.show();
if (mIsShowListener != null) {
mIsShowListener.isShow(true);
}
}
@Override
protected void onStop() {
super.onStop();
if (mIsShowListener != null) {
mIsShowListener.isShow(false);
}
}
public void setIsShowLinster(IsShowListener listener) {
mIsShowListener = listener;
}
public interface IsShowListener {
void isShow(boolean isShow);
}
}