Androidに用意されているSpaceの使い分け

Android開発をしているとViewの間に余白を空けたいときが登場します。
余った部分はweightを設定して余白を空けるという対応が今まで何度もありました。

テーブルのように横に3つは固定の幅、縦並びになる場面もあります。
1つだけViewを消してしまうとズレてしまいます。
Invisibleにすることでも対応ができますが、
そもそも表示しないViewを置いておくのは後から混乱の元になります。

やりたいこと自体はViewクラスを使いInvisibleを使えば余白を取ることができます。

ただ、せっかく余白を空けるSpaceというクラスがあるのだからそちらを使うようにします。
ですが、いざ使うときに2016年5月29日現在3つの同名のクラスがあり迷うことが多いです。
理由を見れば納得してしまうことなのですが、
登場場面もそれほど多くないので書いておかないとよくわからなくなります。

なので備忘録も含め残します。

android.support.v7.widget.Space

非推奨のため、android.support.v4.widget.Spaceを使うように書いてあります。
使っている箇所があったら下記のどちらかに置換えましょう。

android.support.v4.widget.Space

v7からのリンクも貼られているので通常こっちを使っておけば問題は恐らく起こらないはずです。

android.widget.Space

迷うのがこっち。
v4のほうはv7からリンクも貼られているわけだし、なんの違いがあるのかわかりずらいです。
SDKの中身の差分を見てみましたが、
特に違いはなさそうでした。

しかし、よく見ると「Added in API level 14」と書かれているので4系から追加されているようです。
なので14以下を切ってしまっているアプリであればXMLもシンプルになるこっちを使うのがよさそうです。