仿微信右上角弹出PopupWindow
2016-08-26 18:04
309 查看
import android.app.Activity; import android.content.Context; import android.graphics.drawable.ColorDrawable; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.PopupWindow; /** * 仿微信右上角弹出PopupWindow CREATE BY WANGJINCHENG IN 2016-08-29 */ public class MyPopWindow extends PopupWindow implements OnClickListener { private View conentView; public MyPopWindow(final Activity context) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); conentView = inflater.inflate(R.layout.begin_order_popup, null); // DisplayMetrics dm = new DisplayMetrics();// 取得窗口属性 // context.getWindowManager().getDefaultDisplay().getMetrics(dm); // int screenHeight = dm.heightPixels;// 窗口高度 // int screenWidth = dm.widthPixels;// 窗口的宽度 this.setContentView(conentView);// 设置PopupWindow的View this.setWidth(LayoutParams.WRAP_CONTENT);// 设置PopupWindow弹出窗体的宽 this.setHeight(LayoutParams.WRAP_CONTENT);// 设置PopupWindow弹出窗体的高 this.setFocusable(true);// 设置PopupWindow弹出窗体可点击 this.setOutsideTouchable(true);// 设置PopupWindow其他空白区域可点击 this.update();// 刷新状态 ColorDrawable dw = new ColorDrawable(0000000000);// 实例化一个ColorDrawable颜色为半透明 this.setBackgroundDrawable(dw);// 点back键和其他地方使其消失,设置了这个才能触发OnDismisslistener,设置其他控件变化等操作 conentView.findViewById(R.id.begin_cancel_order).setOnClickListener(this); conentView.findViewById(R.id.begin_assignment_order).setOnClickListener(this); conentView.findViewById(R.id.begin_contact).setOnClickListener(this); conentView.findViewById(R.id.begin_same_driver).setOnClickListener(this); } /** * 显示PopupWindow * * @param parent */ public void showPopupWindow(View parent) { if (!this.isShowing()) { // 以下拉方式显示popupwindow this.showAsDropDown(parent, parent.getLayoutParams().width / 2, 0); } else { this.dismiss(); } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.begin_cancel_order: MyPopWindow.this.dismiss(); break; case R.id.begin_assignment_order: MyPopWindow.this.dismiss(); break; case R.id.begin_contact: MyPopWindow.this.dismiss(); break; case R.id.begin_same_driver: MyPopWindow.this.dismiss(); break; default: break; } } }
在main里面点击的按钮写这两行
MyPopWindow popWindow = new MyPopWindow(this);
popWindow.showPopupWindow(findViewById(R.id.begin_menu));
下载地址: http://download.csdn.net/download/chinaredking/9614085
相关文章推荐
- Android仿微信右上角点击加号弹出PopupWindow
- Android PopupWindow实现微信右上角的弹出菜单
- 仿微信右上角点击加号弹出PopupWindow
- Android PopupWindow 仿微信弹出效果
- web页在微信中访问增加遮罩层 右上角弹出在浏览器中打开
- Android PopupWindow 仿微信弹出效果
- Android开发学习(14)Popupwindow右上角弹出菜单
- Android微信右上角弹出的对话选择框实现
- PopupWindow实现微信右上角菜单
- android自定义popupwindow仿微信右上角弹出菜单效果
- 在弹出的菜单中模仿微信的右上角
- (安卓) PopupWindow 类似微信的右上角+ 号 的功能
- 安卓仿微信右上角弹出菜单窗口
- web页在微信中访问增加遮罩层 右上角弹出在浏览器中打开
- PopupWindow 实现仿微信底部弹出的分享菜单
- Android之PopupWindow类似微信右上角的弹出菜单
- 仿微信弹出框的实现(PopupWindow)
- 仿微信右上角弹出菜单
- Android仿微信、qq点击右上角加号弹出操作框
- Android微信右上角弹出的对话选择框实现