关于getTop() .getBottom() .getLeft() .getRight()这几个函数

本人之前一直以为getTop()是View顶部距离父容器顶部的距离,则getBottom就是View底部距离父容器底部的距离,实际不然,并不是这样的,getTop确实是View顶部距离父容器顶部的距离,但是:getBottom却是View底部距离父容器顶部的距离,并不是距离父容器底部。
下面看代码

"http://schemas.android.com/apk/res/android"
    android:id="@+id/RL"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <com.xie.acer1.test.youyou
        android:id="@+id/youyou"
        android:background="#000000"
        android:layout_width="300dp"
        android:layout_height="300dp" />

    
 public void Button(View view){

        y = (youyou) findViewById(R.id.youyou);
        y.layout(y.getLeft(), y.getTop()+50, y.getRight(), y.getTop()+50+y.getMeasuredHeight());
        System.out.println(y.getTop() + "  " + y.getBottom() + "  " + y.getLeft() + "  " + y.getRight());
        System.out.println(y.getMeasuredHeight()+"  "+y.getHeight());
}

这里在补充一个知识点:getBottom的值就等于getTop+View.getMeasuredHeight()。

y.layout(y.getLeft(), y.getTop()+50, y.getRight(), y.getTop()+50+y.getMeasuredHeight());

关于getTop() .getBottom() .getLeft() .getRight()这几个函数_第1张图片

也可以从中看出我每次点击Button按钮的时候getTop和getBottom都会变化,而且越变越大,getTop每次加50,getBottom也每次加50,所以这就证明了getTop是View顶部距离父容器顶部的距离,getBottom是View底部距离父容器顶部的距离
这里写图片描述

你可能感兴趣的:(Android)