android7.0 PopupWindow showAsDropDown问题

-Jacen- 发布于 2016/12/06 17:38
阅读 4K+
收藏 0

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

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


android7.0就有问题


求指点~

加载中
0
名字是当时的心情
名字是当时的心情

遇到同样的问题


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

-Jacen-
-Jacen-
可以,妥妥的解决了~
0
未明
解决没有?
-Jacen-
-Jacen-
没有~
0
Jingbin_
Jingbin_

可以,完美解决,找了半天问题,感谢~

返回顶部
顶部