popupWindow的操作和使用

image

这样的一个效果

直接上代码:

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>
原文地址:https://www.cnblogs.com/yejiurui/p/3021296.html