株式会社ライブキャストロゴ 株式会社ライブキャスト

Androidアプリの画面を新規作成する時に、ちょっとだけはまったのでメモしておきます。

Androidアプリの画面構成はxmlで定義されています。そのxmlファイルは、プロジェクト配下のresフォルダの下のlayoutフォルダに作成します。



一例をあげると、、、

<?xml version="1.0" encoding="UTF-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	>
	<checkbox android:id="@+id/testCheckBox"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="This is the test CheckBox" />
	<button android:id="@+id/layoutButton"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="Change Layout" />
	<button android:id="@+id/colorButton"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="Change Color" />
</linearlayout>

中身はこんな感じになります。
これをLayoutエディタで見ると

こんな感じになります。

以下のように、新規作成時にxmlファイルから作成していると、

コード補完機能がうまく機能しないときがあります。

ここでは「id」とか「layout_width」とか選択肢に出てほしいのですが、出てくれません。なぜか、一度閉じると機能するようになります。ナゾです。

ですが、以下のように、

Fileの新規作成でxmlファイルを作成した場合には、コード補完機能がすぐに使えます。

コード補完機能が使えるかどうかは、タブのところのアイコンでわかります。以下のようにxmlだとだめです。

@みたいなアンドロイドのアイコンになっているときは大丈夫です。

layoutのxmlでスペルミスがあっても、コンパイルエラーにはなりませんが、エミュレータ起動時にエラーになります。なので、極力、コード補完機能は使うようにした方が良いでしょう。私の場合は、「layout_width」が「lauout_width」になっていたため、起動時にエラーになっており、場所を特定するのにちょっと苦労しました。

ちなみに、そのときのエラー画面はこんなのでした。