差异getHeight()vs mBottom - mTop

时间:2012-07-04 01:05:39

标签: android android-layout android-widget

我刚刚开始学习android开发(以及Java),并且正在尝试修改Sliding Drawer小部件。我注意到我找到的代码如下:

final int childHeight = mHandleHeight;
int height = mBottom - mTop - childHeight - mTopOffset;

为什么使用“mBottom -mTop”代替getHeight()?另外,为什么当mHandleHeight已经存在时专门为childHeight创建的变量?

代码:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/widget/SlidingDrawer.java?av=f 第637行

编辑:更改了引用代码中的第二行;在编写我们自己的视图时,我们无法使用这些变量(mBottom,mTop),因此我们必须使用方法'getTop()'和'getBottom()'。

1 个答案:

答案 0 :(得分:1)

呃,我不知道为什么我不只是看看ViewGroup的代码开始,我不习惯我的SDK如此开放/随时可用:)   http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/view/View.java#View.getHeight%28%29显示了函数定义,它只是

6956     public final int getHeight() {
6957         return mBottom - mTop;
6958     }

由于这是问题的主要观点,我会尽可能地回答并希望有人从中受益。仍然不知道为什么额外的变量;也许在多线程环境中,mChildHeight可以改变中间功能,所以你想要一个快照。