Да, оно принимает целочисленное значение. Но внутренне он определил TypeDef параметров видимости со значениями VISIBLE, INVISIBLE и GONE. Все три параметра имеют внутреннее значение int (вам не нужно об этом беспокоиться).
Поэтому, когда вы передаете View.Visible, оно принимает внутреннее значение int этого значения.
И одна вещь, он определил TypeDef, так что вы можете передать значение как целое число, так же как и внутренне, но вы не можете передать другие значения.
Это значения типа int всех параметров:
VISIBLE = 0x00000000
INVISIBLE = 0x00000004
GONE = 0x00000008