0

我惊讶地发现 Android API 允许我们通过调用 getLayoutParams() 方法来调整 imageView 对象的大小。例如:

myTimerBar.getLayoutParams().width = timeRemaining;

没有对应的 setLayoutParams() 方法。

带有“get”一词的方法也允许程序员“设置”属性是否很常见?我意识到这种方法在技术上不是“getter”方法,但它确实以“get”一词开头。

4

3 回答 3

0

自 API 级别 1 起,Android SDK 中有 setLayoutParams() http://developer.android.com/reference/android/view/View.html#setLayoutParams(android.view.ViewGroup.LayoutParams)

于 2013-07-20T20:33:27.663 回答
0

带有“get”一词的方法也允许程序员“设置”属性是否很常见?我意识到这种方法在技术上不是“getter”方法,但它确实以“get.getter”这个词开头。

它确实返回LayoutParamsView. 此对象没有可变状态。但是View类确实有setLayoutParams(),任何子类也有View。您将必须创建一个新LayoutParams设置。

于 2013-07-20T20:36:47.537 回答
0

getLayoutParams()返回ViewGroup.LayoutParams它有一个width声明为公共的实例变量,在 Java 中,您可以访问一个公共实例变量并为其设置一个新值,而无需使用 setter 方法。

例如:

public class Point
{
    public int x;
    public int y;
}
Point p = new Point();
p.x = 10;
p.y = p.x + 1;
于 2013-07-20T20:28:31.893 回答