<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>
一番上は ******Layout じゃないとダメなんだろうか?
そもそも Layout とは何なのか・・・。
Android Developers - Layouts
http://developer.android.com/guide/topics/ui/declaring-layout.html
簡単にまとめてみると
- レイアウトはアプリのUIやウィジットのUIを決めるもの
- XMLで書ける
- XMLの要素名が View のクラス名に、属性名がメソッド名に一致する(例外有り)
- 画面の向き、デバイスのサイズ、言語別にレイアウトを作成できる
- 必ず1つのルート要素を持つ
更にリンクを辿っていくと、疑問に思っていたことを発見。
Android Developers - Layout Resource
http://developer.android.com/guide/topics/resources/layout-resource.html
Note: The root element can be either a ViewGroup, a View, or a <merge> element, but there must be only one root element and it must contain the xmlns:android attribute with the android namespace as shown.
一番上に来るのは、ViewGroup か View を継承しているクラスなら何でもいいみたいです。ただし、ルート要素で名前空間を指定する必要あり。
じゃあ Layout は ViewGroup のサブクラスなのかと思ったらその通りでした。
Android Developers - ViewGroup
http://developer.android.com/reference/android/view/ViewGroup.html
で、その ViewGroup は View のサブクラスでした。
Android Developers -View
http://developer.android.com/reference/android/view/View.html
View が一番上にいるようです。
ということで Layout 以外でも一番上に来ていいことがわかりました。
ちなみに、各 Layout についてはこちらがわかりやすかったです
@IT - Androidアプリの使いやすさを左右する5つのレイアウト
http://www.atmarkit.co.jp/fsmart/articles/android05/android05_1.html
0 件のコメント:
コメントを投稿