/把文字控件添加监听,点击弹出自定义窗口

[java] view plain copy print ?
  1. tv.setOnClickListener(newOnClickListener(){
  2. publicvoidonClick(Viewv){
  3. //实例化SelectPicPopupWindow
  4. menuWindow=newSelectPicPopupWindow(MainActivity.this,itemsOnClick);
  5. //显示窗口
  6. menuWindow.showAtLocation(MainActivity.this.findViewById(R.id.main),Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL,0,0);//设置layout在PopupWindow中显示的位置
  7. }
  8. });
  9. }



其中的mianid 必须在layout 中写出,不然,找不到id 就不会显示在屏幕中。

[java] view plain copy print ?
  1. //为弹出窗口实现监听类
  2. privateOnClickListeneritemsOnClick=newOnClickListener(){
  3. publicvoidonClick(Viewv){
  4. menuWindow.dismiss();
  5. switch(v.getId()){
  6. caseR.id.btn_take_photo:
  7. break;
  8. caseR.id.btn_pick_photo:
  9. break;
  10. default:
  11. break;
  12. }
  13. }
  14. };







这个是popwindow的工具类,定义这popwindow的弹出方向的动画。以及你pop中要显示的条目。

[java] view plain copy print ?
  1. mportandroid.app.Activity;
  2. importandroid.content.Context;
  3. importandroid.graphics.drawable.ColorDrawable;
  4. importandroid.view.LayoutInflater;
  5. importandroid.view.MotionEvent;
  6. importandroid.view.View;
  7. importandroid.view.View.OnClickListener;
  8. importandroid.view.View.OnTouchListener;
  9. importandroid.view.ViewGroup.LayoutParams;
  10. importandroid.widget.Button;
  11. importandroid.widget.PopupWindow;
  12. publicclassSelectPicPopupWindowextendsPopupWindow{
  13. privateButtonbtn_take_photo,btn_pick_photo,btn_cancel;
  14. privateViewmMenuView;
  15. publicSelectPicPopupWindow(Activitycontext,OnClickListeneritemsOnClick){
  16. super(context);
  17. LayoutInflaterinflater=(LayoutInflater)context
  18. .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  19. mMenuView=inflater.inflate(R.layout.alert_dialog,null);
  20. btn_take_photo=(Button)mMenuView.findViewById(R.id.btn_take_photo);
  21. btn_pick_photo=(Button)mMenuView.findViewById(R.id.btn_pick_photo);
  22. btn_cancel=(Button)mMenuView.findViewById(R.id.btn_cancel);
  23. //取消按钮
  24. btn_cancel.setOnClickListener(newOnClickListener(){
  25. publicvoidonClick(Viewv){
  26. //销毁弹出框
  27. dismiss();
  28. }
  29. });
  30. //设置按钮监听
  31. btn_pick_photo.setOnClickListener(itemsOnClick);
  32. btn_take_photo.setOnClickListener(itemsOnClick);
  33. //设置SelectPicPopupWindow的View
  34. this.setContentView(mMenuView);
  35. //设置SelectPicPopupWindow弹出窗体的宽
  36. this.setWidth(LayoutParams.FILL_PARENT);
  37. //设置SelectPicPopupWindow弹出窗体的高
  38. this.setHeight(LayoutParams.WRAP_CONTENT);
  39. //设置SelectPicPopupWindow弹出窗体可点击
  40. this.setFocusable(true);
  41. //设置SelectPicPopupWindow弹出窗体动画效果
  42. this.setAnimationStyle(R.style.AnimBottom);
  43. //实例化一个ColorDrawable颜色为半透明
  44. ColorDrawabledw=newColorDrawable(0xb0000000);
  45. //设置SelectPicPopupWindow弹出窗体的背景
  46. this.setBackgroundDrawable(dw);
  47. //mMenuView添加OnTouchListener监听判断获取触屏位置如果在选择框外面则销毁弹出框
  48. mMenuView.setOnTouchListener(newOnTouchListener(){
  49. publicbooleanonTouch(Viewv,MotionEventevent){
  50. intheight=mMenuView.findViewById(R.id.pop_layout).getTop();
  51. inty=(int)event.getY();
  52. if(event.getAction()==MotionEvent.ACTION_UP){
  53. if(y<height){
  54. dismiss();
  55. }
  56. }
  57. returntrue;
  58. }
  59. });
  60. }
  61. }




[java] view plain copy print ?
  1. <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2. android:id="@+id/main"//此处的mian就是mainActivity要声明的
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <TextView
  7. android:id="@+id/text"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:layout_centerHorizontal="true"
  11. android:layout_centerVertical="true"
  12. android:padding="@dimen/padding_medium"
  13. android:text="点击我弹出选择框"
  14. tools:context=".MainActivity"/>
  15. </RelativeLayout>






额。。。大概也就这样。写的也不是很详细,大家可以下载下来看就明白了。



~3)0LL@WTUBF}DL~Z4T649O.jpg(78.82 KB, 下载次数: 36)


仿微信的弹出popwindow


S)P)$(DG(QZLR_@SA(3[NRQ.jpg(102.24 KB, 下载次数: 22)


仿微信的弹出popwindow


@4K0`A9G2~IVIJ[0UBLHLI9.jpg(76.25 KB, 下载次数: 15)


仿微信的弹出popwindow






下载地址

http://download.csdn.net/detail/liyaming1/6479935

更多相关文章

  1. android 简单的aidl
  2. 实例教程十一:访问通信录中的联系人和添加联系人
  3. android 获取应用的当前版本号&获取当前android系统的版本号
  4. Android之复选框对话框用法实例分析
  5. Android点击返回按钮弹出确认消息对话框
  6. Android的消息框处理方法
  7. (OK) 在CentOS7—编译OpenSSL 静态库—for—Android
  8. Android(安卓)完全退出
  9. Android(安卓)侧滑,左滑,右滑

随机推荐

  1. Android之拍照
  2. Android(安卓)键盘驱动
  3. Android之 drawTextOnpath
  4. Android(安卓)-- 解决Android(安卓)Studi
  5. android ios vue 互调
  6. android复合控件
  7. EditeText标签字体大小设置 是否可编辑
  8. Android(安卓)各版本Gradle离线下载
  9. 去除启动edittext时候默认的焦点
  10. Android调用本机地图APP