在这里记录下编程开发的各种小技巧,帮助他人,成长自己。

  • View.getWindowVisibleDisplayFrame(Rect rect) :

    作用:​返回当前 view 所 attach 的 window 的可视区域的大小

    影响因子:​statusBar(rect.top)、navigationBar(rect.bottom)、虚拟键盘(rect.bottom)

    具体表现:

        如果 window 不与 statusBar、navigationBar 和虚拟键盘重叠,那么 rect.top = 0,rect.bottom =  ​screenRealHeight - navigationBarHeight

        ​rect.​top = 全屏 ?0 :  (widow.layoutparam.height == MATCH_PARENT ?  状态栏高度 : window 与状态栏高度重叠的高度)

        rect.bottom(键盘升起) =  widow.layoutparam.height == MATCH_PARENT ?  screenRealHeight - navigationBarHeight - keyboardHeight :screenRealHeight - navigationBarHeight - 键盘与window重叠区域的高度

        rect.bottom(键盘升起) = ​screenRealHeight - navigationBarHeight

      Android