Qstairs

現役AIベンチャーCTOの知見、画像認識(人工知能、Deep Learning)を中心とした技術ノウハウをアップしていきます

広告

【Android】フォーム(アカウント作成)画面用レイアウト 車輪の再発明の防止

f:id:qstairs:20160726233441j:plain

はじめに

今、私が個人的に作成しているアプリでフォーム画面(アカウント作成画面)が必要となり、
同じ画面を今後も使う機会があるだろうと思い記録。

  • 作成できる画面

f:id:qstairs:20161012233723p:plain:h300

組み込み方法

activity_form.xml
をres\layoutフォルダに作成

これらをres\valuesフォルダに作成

あとはActivityからactivity_formを呼び出し、
コンポーネントの制御処理を実装する。

ソース

各ファイルのソース

  • activity_form.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_make_account"
    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"
    android:orientation="vertical"
    android:background="@color/white_gray">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_marginTop="@dimen/activity_vertical_margin">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="ユーザ名"
            android:layout_weight="1"
            android:gravity="end"
            android:layout_marginRight="@dimen/activity_horizontal_margin"/>
        <EditText
            android:id="@+id/name"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:background="@color/white"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_marginTop="@dimen/activity_vertical_margin">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="年齢"
            android:layout_weight="1"
            android:gravity="end"
            android:layout_marginRight="@dimen/activity_horizontal_margin"/>

        <EditText
            android:id="@+id/age"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:inputType="number"
            android:background="@color/white"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_marginTop="@dimen/activity_vertical_margin">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="性別"
            android:layout_weight="1"
            android:gravity="end"
            android:layout_marginRight="@dimen/activity_horizontal_margin"/>


        <RadioGroup
            android:id="@+id/gender"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_weight="2"
            android:gravity="center">
            <RadioButton
                android:id="@+id/male"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="男性"/>
            <RadioButton
                android:id="@+id/female"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="女性"/>
            <RadioButton
                android:id="@+id/other"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="その他"/>

        </RadioGroup>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_marginTop="@dimen/activity_vertical_margin">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="住まい"
            android:layout_weight="1"
            android:gravity="end"
            android:layout_marginRight="@dimen/activity_horizontal_margin"/>

        <Spinner
            android:id="@+id/area"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:prompt="@string/addressPrompt"
            android:entries="@array/addressEntries"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_marginTop="@dimen/activity_vertical_margin">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="仕事"
            android:layout_weight="1"
            android:gravity="end"
            android:layout_marginRight="@dimen/activity_horizontal_margin"/>

        <Spinner
            android:id="@+id/work"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:prompt="@string/workPrompt"
            android:entries="@array/workEntries"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center"
        android:layout_marginTop="@dimen/activity_vertical_margin">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="その他"
            android:layout_weight="1"
            android:gravity="end"
            android:layout_marginRight="@dimen/activity_horizontal_margin"/>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center"
            android:layout_weight="2">
            <CheckBox
                android:id="@+id/married"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="既婚"/>

            <CheckBox
                android:id="@+id/child"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="子持ち"/>

        </LinearLayout>
    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:gravity="center|bottom">
        <Button
            android:id="@+id/ok"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="OK"/>
        <Button
            android:id="@+id/cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cancel"/>
    </LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="addressEntries">
        <item>北海道</item>
        <item>青森県</item>
        <item>岩手県</item>
        <item>宮城県</item>
        <item>秋田県</item>
        <item>山形県</item>
        <item>福島県</item>
        <item>茨城県</item>
        <item>栃木県</item>
        <item>群馬県</item>
        <item>埼玉県</item>
        <item>千葉県</item>
        <item>東京都</item>
        <item>神奈川県</item>
        <item>新潟県</item>
        <item>富山県</item>
        <item>石川県</item>
        <item>福井県</item>
        <item>山梨県</item>
        <item>長野県</item>
        <item>岐阜県</item>
        <item>静岡県</item>
        <item>愛知県</item>
        <item>三重県</item>
        <item>滋賀県</item>
        <item>京都府</item>
        <item>大阪府</item>
        <item>兵庫県</item>
        <item>奈良県</item>
        <item>和歌山県</item>
        <item>鳥取県</item>
        <item>島根県</item>
        <item>岡山県</item>
        <item>広島県</item>
        <item>山口県</item>
        <item>徳島県</item>
        <item>香川県</item>
        <item>愛媛県</item>
        <item>高知県</item>
        <item>福岡県</item>
        <item>佐賀県</item>
        <item>長崎県</item>
        <item>熊本県</item>
        <item>大分県</item>
        <item>宮崎県</item>
        <item>鹿児島県</item>
        <item>沖縄県</item>
    </string-array>

    <string-array name="workEntries">
        <item>会社員</item>
        <item>経営者</item>
        <item>自営業</item>
        <item>専門職</item>
        <item>自由業</item>
        <item>主婦・家事手伝</item>
        <item>学生</item>
        <item>ニート</item>
        <item>その他</item>
    </string-array>

</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="addressPrompt">住まい</string>
    <string name="workPrompt">仕事</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="white">#FEFEFE</color>
    <color name="white_gray">#EDF2F4</color>
</resources>
  • 作成できる画面

f:id:qstairs:20161012233723p:plain:h300

広告