【Android】レイアウトの種類による配置の違い
ActivityのレイアウトでGraphical Layoutを使ってドラッグ&ドロップしてボタンなどを配置していこうと思ったのですが、そこで少しつまずいた点があったので書いていきたいと思います。
新しく自動生成されるようになったActivityのレイアウトファイル「activity_main.xml」とFragmentのレイアウトファイル「fragment_main.xml」なのですが、それぞれレイアウトの種類が違うみたいですね。
プロジェクトを作成した時のレイアウトのデフォルトの設定ですと、「fragment_main.xml」はRelativeLayoutになっていて、「activity_main.xml」はFrameLayoutになっています。
fragment_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" … > </RelativeLayout>
activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" … > </FrameLayout>
このように、デフォルトのレイアウトファイルではレイアウトの種類が違うので注意しないといけませんね。
そこで、レイアウトの種類を調べてみました。
レイアウトの種類
種類 | 説明 |
---|---|
AbsoluteLayout | 絶対座標指定の配置が可能 |
RelativeLayout | 相対座標指定の配置が可能 |
LinearLayout | 縦/横 指定の配置が可能 |
TableLayout | 表形式の配置の配置が可能 |
FrameLayout | ビューの重ね合わせが可能 |
このように様々な種類のレイアウトがあるのですが、Graphical Layoutでドラッグ&ドロップして配置していきたいときは相対的に座標の位置が指定できるRelativeLayoutにしないといけなかったみたいです。
<RelativeLayout …> </RelativeLayout>
「activity_main.xml」ではFrameLayoutになっていたのでRelativeLayoutにしてあげたことでGraphical Layoutでドラッグ&ドロップができるようになりました。
レイアウトによって種類を使い分けることが必要ですね。勉強になります。