android studio studio java 参数中的 setVisibility 函数

setVisibility function in android studio studio java parameters

我已经检查了 android 文档中的 setVisibility()。表明

setVisibility(int value)

据我所知,这意味着 setVisibility() 接受整数值作为输入。但是在其中一个java代码中,我发现它写成

setVisibility(view.Visible)

这意味着它将视图类型作为输入。但这怎么可能。我无法理解这背后的逻辑。谁能帮忙解决这个问题?

是的,它接受整数值。但它在内部定义了可见性选项的 TypeDef,其值为 VISIBLE、INVISIBLE 和 GONE。所有三个选项都在内部定义了它们的 int 值(您不必担心)。

因此,每当您传递 View.Visible 时,它都会采用它的内部 int 值。

还有一件事,它定义了 TypeDef,因此您可以像内部一样将值作为整数传递,但不能传递其他值。

这些是所有选项的整数值:

VISIBLE = 0x00000000
INVISIBLE = 0x00000004
GONE = 0x00000008

setVisibility() 方法有 int 个参数

public void setVisibility(int visibility) {
        throw new RuntimeException("Stub!");
    }

有内置的 Gone 、invisible 等...

    public static final int GONE = 8;
    public static final int INVISIBLE = 4;
    public static final int VISIBLE = 0;