2

我正在查看 Android SDK 中的 ProgressBar.java 源代码。在 android.widget.ProgressBar 的第 191 行,它指出:

 mMinHeight = a.getDimensionPixelSize(R.styleable.ProgressBar_minHeight, mMinHeight));

为什么它在初始化它的同时在参数列表中使用 mminHeight?有人可以解释一下吗?完整的源代码可以在这里找到 grepcode

4

2 回答 2

4

看到它调用的第 171 行initProgressBar吗?该方法将 mminHeight 初始化为值 24。然后调用getDimensionPixelSize将其用作默认值。

于 2011-12-06T20:16:28.630 回答
1

getDimensionPixelSize第二个参数只是一个默认值,如果无法找到请求的值,则应返回该值。传入您尝试设置为默认值的变量是很常见的(如果有点奇怪)。实际上,这段代码说“如果你有这个值,就设置它,或者如果你没有,就让变量保持原样”。

于 2011-12-06T20:21:56.530 回答