3
回答
android7.0 PopupWindow showAsDropDown问题
注册华为云得mate10,2.9折抢先购!>>>   

关键代码:timeMenuWindow.showAsDropDown(selectTimeLayout);

在android7.0以下都是正常的。


android7.0就有问题


求指点~

举报
-Jacen-
发帖于1年前 3回/3K+阅

遇到同样的问题


PopupWindow: 

Android 7.0之前,在指定位置弹出popupwindow可以用showAsDropDown(View anchor, int xoff, int yoff),showAtLocation(View parent, int gravity, int x, int y)。但在android 7.0上,用showAsDropDown()在popupwindow为全屏时,会有弹出位置异常情况,需用showAtLocation()才能正常显示:


if (Build.VERSION.SDK_INT < 24)
        {
            dropListPopupWindow.showAsDropDown(this, 0, 5);
        }
        else
        {
            // 适配 android 7.0
            int[] location = new int[2];
            getLocationOnScreen(location);
            int x = location[0];
            int y = location[1];
            Log.e(getClass().getSimpleName(), "x : " + x + ", y : " + y);
            dropListPopupWindow.showAtLocation(this, Gravity.NO_GRAVITY, 0, y + getHeight() + 5);
        }




参考:http://blog.csdn.net/dxxs19/article/details/53572833

--- 共有 1 条评论 ---
-Jacen-可以,妥妥的解决了~ 1年前 回复
顶部