<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/home_00" />
<corners
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
<stroke
android:width="2dp"
android:color="@color/home_00" />
</shape>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true">
<RelativeLayout
android:layout_width="280dp"
android:layout_height="wrap_content"
android:background="@drawable/pop_bg"
android:orientation="vertical"
android:id="@+id/pop_student"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true">
<ImageView
android:id="@+id/img_pop_close"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/student_close"
android:layout_alignParentRight="true"
android:layout_marginTop="10dp"
android:layout_marginRight="15dp"
android:layout_alignParentTop="true" />
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/layout_head"
android:background="@drawable/student_head_bg"
android:layout_below="@id/img_pop_close"
android:layout_marginTop="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:layout_centerHorizontal="true">
<com.jtx.iintroduce.widget.CircleImageView
android:id="@+id/img_pop_head"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/home_head"
app:border_width="1dp" />
</LinearLayout>
<TextView
android:id="@+id/txt_pop_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/layout_head"
android:textColor="@color/white"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:textSize="20sp"
android:text="张三丰" />
<TextView
android:id="@+id/txt_pop_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txt_pop_name"
android:textColor="@color/white"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:textSize="16sp"
android:text="13131313131" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt_pop_phone"
android:gravity="center"
android:background="@drawable/pop_bg_button"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:layout_marginTop="40dp">
<Button
android:id="@+id/btn_pop_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:textColor="@color/white"
android:textSize="20sp"
android:text="拨打电话"
android:drawablePadding="13dp"
android:drawableLeft="@drawable/student_phone2" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
1 public class StudentPopWindow extends PopupWindow implements View.OnClickListener { 2 3 private View popView = null; 4 private BaseActivity act = null; 5 private CircleImageView img_pop_head = null; 6 private TextView txt_pop_name = null; 7 private TextView txt_pop_phone = null; 8 private String strPhone = null; 9 11 public StudentPopWindow(BaseActivity act, String head, String name, String phone) { 12 super(act); 13 LayoutInflater inflater = (LayoutInflater) act 14 .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 15 popView = inflater.inflate(R.layout.pop_student, null); 16 17 this.act = act; 18 strPhone = phone; 19 popView.findViewById(R.id.btn_pop_call).setOnClickListener(this); 20 popView.findViewById(R.id.img_pop_close).setOnClickListener(this); 21 22 img_pop_head = (CircleImageView) popView.findViewById(R.id.img_pop_head); 23 txt_pop_name = (TextView) popView.findViewById(R.id.txt_pop_name); 24 txt_pop_phone = (TextView) popView.findViewById(R.id.txt_pop_phone); 25 act.mToolBitmap.display(img_pop_head, head); 26 txt_pop_name.setText(name); 27 txt_pop_phone.setText(phone); 28 29 30 //设置SelectPicPopupWindow的View 31 this.setContentView(popView); 32 //设置SelectPicPopupWindow弹出窗体的宽 33 this.setWidth(LayoutParams.MATCH_PARENT); 34 //设置SelectPicPopupWindow弹出窗体的高 35 this.setHeight(LayoutParams.MATCH_PARENT); 36 //设置SelectPicPopupWindow弹出窗体可点击 37 this.setFocusable(true); 38 39 //设置SelectPicPopupWindow弹出窗体动画效果 40 //this.setAnimationStyle(R.style.AnimBottom); 41 //实例化一个ColorDrawable颜色为半透明 42 ColorDrawable dw = new ColorDrawable(act.getResources().getColor(R.color.b_translucent)); 43 //设置SelectPicPopupWindow弹出窗体的背景 44 this.setBackgroundDrawable(dw); 45 46 //mMenuView添加OnTouchListener监听判断获取触屏位置如果在选择框外面则销毁弹出框 47 /*popView.setOnTouchListener(new OnTouchListener() { 49 public boolean onTouch(View v, MotionEvent event) { 51 int height = popView.findViewById(R.id.pop_student).getTop(); 52 int y=(int) event.getY(); 53 if (event.getAction() == MotionEvent.ACTION_UP) { 54 if (y < height) { 55 dismissPop(); 56 } 57 } 58 return true; 59 } 60 });*/ 61 62 } 63 65 @Override 66 public void onClick(View v) { 67 switch (v.getId()) { 68 case R.id.img_pop_close: 69 dismissPop(); 70 break; 71 case R.id.btn_pop_call: 72 Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel://" + strPhone)); 73 act.startActivity(intent); 74 break; 75 } 76 } 77 79 private void dismissPop() { 80 popView = null; 81 act = null; 82 img_pop_head = null; 83 txt_pop_name = null; 84 txt_pop_phone = null; 85 strPhone = null; 86 dismiss(); 87 } 88 }
String strHead = listData.get(position).photo;
String strName = listData.get(position).name;
String strPhone = listData.get(position).phone;
popWindow = new StudentPopWindow(mActivity, strHead, strName, strPhone);
popWindow.setHeight(ViewGroup.LayoutParams.MATCH_PARENT);
popWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
//显示窗口
//设置layout在PopupWindow中显示的位置
popWindow.showAtLocation(view, Gravity.CENTER, 0, 0);