My Blog

~岩手から発信中~

【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でドラッグ&ドロップができるようになりました。

レイアウトによって種類を使い分けることが必要ですね。勉強になります。


参考サイト:http://ee72078.moo.jp/chinsan/pc/MobileApp/index.php?Android%20%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88