1

许多用于设置布局方面的 Android 方法将 INT 作为参数,但 Google 指南和文档中对这些方法的描述显示参数是字符串。例如,LinearLayout 的 setOrientation() 方法。这是描述:

public void setOrientation(int方向)

布局应该是一列还是一行。

机器人:方向

参数传递 HORIZONTAL 或 VERTICAL。默认值为水平。

如您所见,该方法采用 INT 作为参数,但描述告诉我传递 HORIZONTAL 或 VERTICAL。

我在许多其他方法上注意到了相同的模式,那么我如何确定要传递哪些值来实现我想要的呢?

更新:通过反复试验,我发现 0 代表水平和 1 垂直。但是,该文档不应该更清楚地解释这一点吗?

4

2 回答 2

2

这是因为那些被static final int调用了HORIZONTALVERTICAL所以你会调用:

setOrientation(LinearLayout.HORIZONTAL);
于 2012-05-22T19:52:35.950 回答
1

同意,我希望谷歌会使用枚举而不是整数,并且这样做会带来轻微的性能损失。

您通常可以找到文档中为您正在查看的方法的类定义的 int 常量。例如,LinearLayout setOrientation()方法的 javadocs 中提到HORIZONTALVERTICAL,这些常量可以在这里找到,

http://developer.android.com/reference/android/widget/LinearLayout.html#HORIZONTAL http://developer.android.com/reference/android/widget/LinearLayout.html#VERTICAL

现在,不能原谅 google 没有链接到 文档中的常量setOrientation(),并且这些常量的文档是空白的事实。

于 2012-05-22T19:56:02.793 回答