AndroidのLayout
暇なんだけど業務無関係な事をするわけにもいかないので、Android Studio いじってみてます。
で、ちょっと入門書読んでみて「すげーAWTやSwingに似てるなー…」と思ったんだけど、AWTやSwingやSWTとは差を感じるので、とりあえず差異と概要に関する自分用メモ。
FrameLayout
パーツを左上に配置・表示するレイアウト。 複数のViewを与えると重ねて表示する。
LinearLauout
要素を「縦」または「横」に延々と並べるレイアウト。
AWT の FlowLayout のつもりで使えば良い…のかな。
RelativeLayout
Viewを配置するさいに相対指定したいさいに使うレイアウト。
TableLaout
AWTのGridLayoutとほぼ同じような機能。
AWTのGridLayoutと違い、列をまたいで(複数セルを消費して)配置することもできる。
行をまたいで配置はできないのは同じ。
GridLayout
SwingのGridBagLayoutみたいな事をしたい場合に使うっぽい。
AWTのGridLayoutより相当高機能。
列をまたぐことも、行をまたぐこともできる。
Android4.0以降。
Swing の GridBagLayoutは高性能だけど、GridBagConstraints作って fill や grids や grid width を指定して setConstrationsしてからさっきのGridBagConstraintsを使いまわして値を上書きして……ってのは正直煩雑すぎるしダサいので(というか黎明期のJavaのGUI系の仕組みは大抵ダサい)、同じような機能をもっとシンプルに使える Android の GridLayout は気に入った。