这样的一个效果
直接上代码:
if(popupWindow!=null){ if(popupWindow.isShowing()){ popupWindow.dismiss(); } } View contentView = View.inflate(getApplicationContext(), R.layout.ui_more_popup, null); popupWindow = new PopupWindow(contentView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,true); popupWindow.setBackgroundDrawable(new ColorDrawable( Color.TRANSPARENT)); int[] location = new int[2]; // 获取当前被点击的view对象在窗体中的位置. x,y 放在 location v.getLocationInWindow(location); popupWindow.showAtLocation(v, Gravity.LEFT | Gravity.TOP, location[0], location[1]+60);
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@android:color/darker_gray" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发送到桌面" android:textColor="#000000" android:textSize="20dp" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="服务卡密码" android:textColor="#000000" android:textSize="20dp" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="推荐给好友" android:textColor="#000000" android:textSize="20dp" /> </LinearLayout>