前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >popupwindow showAsDropDown 无效解决方法

popupwindow showAsDropDown 无效解决方法

作者头像
再见孙悟空_
发布2023-02-10 20:44:13
2960
发布2023-02-10 20:44:13
举报

今天运行一个很久之前做的项目的时候,发现界面变成了这个样子,就是一个普通的popwindow

然后用了一下低版本手机测试是显示正常的,搜索相关资料,发现是Android7.0 及以上手机有这个问题

原来的代码:

代码语言:javascript
复制
		mPopupWindow.showAsDropDown(view);

   view是显示到哪个控件下面就放哪个view,不多解释。

现在的代码:

代码语言:javascript
复制
PopWindowUtil.showAsDropDown(mPopupWindow,view,0,0);
代码语言:javascript
复制
package com.jky.mobilebzt.util;

import android.graphics.Rect;
import android.os.Build;
import android.view.View;
import android.widget.PopupWindow;

public class PopWindowUtil {

    public static void showAsDropDown(final PopupWindow pw, final View anchor, final int xoff, final int yoff) {
        if (Build.VERSION.SDK_INT >= 24) {
            Rect visibleFrame = new Rect();
            anchor.getGlobalVisibleRect(visibleFrame);
            int height = anchor.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom;
            pw.setHeight(height);
            pw.showAsDropDown(anchor, xoff, yoff);
        } else {
            pw.showAsDropDown(anchor, xoff, yoff);
        }
    }
}

现在的效果:

很普通的一个问题,但是项目时间长了没发现就很尴尬。好了,很简单,就不多废话了。

希望对大家有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档