美文网首页
面试准备——UI相关

面试准备——UI相关

作者: So_ProbuING | 来源:发表于2021-09-02 01:11 被阅读0次

    MeasureSpec

    View的MeasureSpec由父容器的MeasureSpec以及自身的LayoutParams决定的


    image.png
    • Exactly模式:可以理解为确定的大小,就为Exactly模式,比如match_parent(和屏幕等宽等高等等)
    • AT_MOST模式:可以理解为不超过,只有一个范围的模式

    1 当父容器是Exactly模式

    • 如果子view是Exactly模式(当用户指定了具体的数值(宽/高)),那么这个子view的resultSize就是你赋值的这个具体的值;
    • 如果子view指定是match_parent,那么子view的resultSize依然是父容器给与的最大值,模式还是exactly;
    • 如果子view指定的是wrap_content,那么子view的resultSize还是父容器给与的最大值,但是模式就变成了at_most;

    2 当父容器是At_most模式

    • 如果子view是Exactly模式(当用户指定了具体的数值(宽/高)),那么这个子view的resultSize就是你赋值的这个具体的值;
    • 如果子view指定是match_parent,那么子view的resultSize依然是父容器给与的最大值,模式还是at_most;
    • 如果子view指定的wrap_content,子view的resultSize就是父控件的size,模式是at_most;

    3 当父容器是Unspecified(这个模式我们基本用不到,大部分都是系统内部使用)

    • 如果子view是Exactly模式(当用户指定了具体的数值(宽/高)),那么这个子view的resultSize就是你赋值的这个具体的值;
    • 如果子view指定的是match_parent,子view的大小为0;模式为Unspecified;
    • 如果子view指定的是wrap_content,子view的大小为0;模式为Unspecified;

    getLeft,getRight,getTop,getBottom,getWidth(),getHeight();
    Getleft:子view的左边界到父view的左边界的距离;
    getRight:子view的右边界到父view的左边界距离;
    getTop:子view的顶部到父view的顶部距离;
    getBottom:子view的底部到父view的顶部距离;

    相关文章

      网友评论

          本文标题:面试准备——UI相关

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