android popupwindow从下弹出,显示在某控件上方

popupwindow弹出时从下往上,隐藏时从上往下,并且显示在指定控件上方
View inflate = LayoutInflater.from(getContext()).inflate(R.layout.popupwindow_shop, null);
                LinearLayout pop_del = inflate.findViewById(R.id.pop_shop_delete);
                ListView lst = inflate.findViewById(R.id.pop_shop_lst);

                window = new PopupWindow(inflate, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true);
                window.setAnimationStyle(R.style.pop_shop_anim);
                // 实例化一个ColorDrawable颜色为半透明
                ColorDrawable dw = new ColorDrawable(0xb0000000);
                window.setBackgroundDrawable(dw);

                window.setOutsideTouchable(true);
                showUp(inflate);
                window.update();
private void showUp(View v) {
        v.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
        int measuredHeight = v.getMeasuredHeight();
        int[] location = new int[2];
        linear.getLocationOnScreen(location);
        window.showAtLocation(linear, Gravity.NO_GRAVITY, 0, location[1] - measuredHeight);
    }
popupwindow_shop.xml布局文件:



    

        

            

            
        
    

    

动画:(在res下创建名为anim的文件夹,在anim文件夹下创建文件)

pop_show

        当值设置为"50"时,表示使用绝对位置定位

        当值设置为"50%"时,表示使用相对于控件本身的一半定位

        当值设置为"50%P"时,表示使用相对于父控件的一半定位



    

    
pop_hidden


    

    

在values-styles下添加


你可能感兴趣的:(android popupwindow从下弹出,显示在某控件上方)