美文网首页
PopWindow 踩坑

PopWindow 踩坑

作者: 6fd2a7000ef4 | 来源:发表于2016-02-24 10:39 被阅读256次

    showAtLocation(parent, gravity, x, y)方法使用

    • 方法含义:pop用于显示的位置及其偏移量
    • 参数含义:
      • parent :其所参考的父控件。
      • gravity : 相对于父控件的位置,类似于LinearLayoutgrivity属性。
    • x:x轴偏移量。
    • y: y轴偏移量
    • 剖析:该方法显示位置的控制类似于将子控件添加到LinearLayout中,通过grivity属性控制显示位置一样,但pop并不是添加到parent中,只是类似的位置显示模式。
    • 踩坑:
      • parentactivity的根节点,popwindow充满activity显示时,其Gravity的控制显示不在是参考parent而是参考手机当前的屏幕位置,及状态栏的位置也会显示同时会被状态栏遮挡。

      解决方案:
      通过设置popwindow的高度等于actiivity的高度,并且grivity的属性为Grivity.TOP,设置y轴偏移量为状态栏的高度。

         /**
         * 获取状态栏高度
         * 
         * @return
         */
        public static int getStatusHeight() {
            int result = 0;
            int resourceId = MDWApplication.getApplication().getResources()
                    .getIdentifier("status_bar_height", "dimen", "android");
            if (resourceId > 0) {
                result = MDWApplication.getApplication().getResources()
                        .getDimensionPixelSize(resourceId);
            }
            return result;
        }
    

    相关文章

      网友评论

          本文标题:PopWindow 踩坑

          本文链接:https://www.haomeiwen.com/subject/qjcikttx.html