【Android】 簡易電卓を作成する [1] ~レイアウト編~

サンプル

 * 以下のような電卓のデザインを作成してみる

[(計算結果を出力)_____________]
[(計算式を出力)_______________]
[COPY_] [______AC_____] [__BS_]
[__7__] [__8__] [__9__] [__/__]
[__4__] [__5__] [__6__] [__*__]
[__1__] [__2__] [__3__] [__-__]
[__0__] [__.__] [__=__] [__+__]

  + AC : All Clear
  + BS : Back Space

 * 以下の関連記事を組み合わせれば、作成できる
http://blogs.yahoo.co.jp/dk521123/34405682.html

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="0"
        android:id="@+id/displayTextView"
        android:textSize="48sp"
        android:textColor="#000000"
        android:gravity="right"
        android:background="#ffffff" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/subTextView" />

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">

            <Button
                android:layout_width="80dp"
                android:layout_height="match_parent"
                android:text="Copy"
                android:id="@+id/copyButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="functionKeyOnClick" />

            <Button
                android:layout_width="80dp"
                android:layout_height="match_parent"
                android:text="AC"
                android:id="@+id/allClearButton"
                android:layout_weight="1"
                android:textSize="24sp"
                android:onClick="functionKeyOnClick"
                android:layout_span="2" />

            <Button
                android:layout_width="80dp"
                android:layout_height="match_parent"
                android:text="BS"
                android:id="@+id/backSpaceButton"
                android:layout_weight="1"
                android:textSize="24sp"
                android:onClick="functionKeyOnClick" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="7"
                android:id="@+id/sevenButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="8"
                android:id="@+id/eightButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="9"
                android:id="@+id/nineButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="/"
                android:id="@+id/divideButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="operatorKeyOnClick" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="4"
                android:id="@+id/fourButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="5"
                android:id="@+id/fiveButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="6"
                android:id="@+id/sixButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="*"
                android:id="@+id/multiplyButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="operatorKeyOnClick" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="1"
                android:id="@+id/oneButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="2"
                android:id="@+id/twoButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="3"
                android:id="@+id/threeButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="-"
                android:id="@+id/subtractButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="operatorKeyOnClick" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="0"
                android:id="@+id/zeroButton"
                android:padding="0dp"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="."
                android:id="@+id/decimalButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="numberOrDecimalKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="="
                android:id="@+id/equalButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="operatorKeyOnClick" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="+"
                android:id="@+id/addButton"
                android:textSize="24sp"
                android:layout_weight="1"
                android:onClick="operatorKeyOnClick" />
        </TableRow>
    </TableLayout>

</LinearLayout>

関連記事

簡易電卓を作成する [2] ~実装編~

 * 続きは、以下の関連記事を参照のこと
http://blogs.yahoo.co.jp/dk521123/35248324.html