回答:
見えない:
このビューは非表示ですが、レイアウトのためにスペースを占有します。
なくなった:
このビューは非表示であり、レイアウトのためにスペースを取りません。
display:none&visibility:hiddenに類似しているようです:-)
ドキュメンテーションからあなたはそれを言うことができます
View.GONEこのビューは非表示であり、レイアウトのためにスペースをとりません。
View.INVISIBLEこのビューは非表示ですが、レイアウトのためにスペースを占有します。
いくつかの写真でアイデアを明確にしましょう。
以下のような3つのボタンがあると仮定します

ボタン2の表示を非表示(View.INVISIBLE)に設定すると、出力は

また、ボタン2の表示を設定しないと(View.GONE)、出力は

これであなたの疑問が解消されることを願っています。
正しい回答を追加したいと思います。表示をとして初期化するとView.GONE、ビューが初期化されていない可能性があり、ランダムなエラーが発生します。
たとえば、レイアウトを次のように初期化してView.GONEからアニメーションを開始しようとすると、私の経験から、アニメーションがランダムに動作します。時々はい、時々いいえ。
したがって、ビューを処理(サイズ変更、移動など)する前に、ビューを初期化するView.VISIBLEかView.INVISIBLE、画面でレンダリング(描画)してから処理する必要があります。
GONE
プログラムのコンパイルのたびにGoneを作成すると、コンポーネントは初期化されます。つまり、コンポーネントをレイアウトから削除します。コンポーネントを非表示にすると、コンポーネントはレイアウトで同じスペースを取りますが、初期化する必要はありません。 。
Visibility = Goneを設定した場合、コンポーネントを初期化する必要があります。
例Button _mButton = new Button(this);
_mButton =(Button)findViewByid(R.id.mButton);
そのため、Visibility = invisibleに比べて時間がかかります。
View.INVISIBLE- >ビューは非表示ですが、レイアウトの一部のスペースを占有します
View.GONE- >ビューは表示されず、レイアウトのスペースを占有しません