显示运算算式部分是一个TextView,往下三排按钮分别使用LinearLayout,每个LinearLayout设置为android:orientation="horizontal"
,各包含4个按钮,为了让4个按钮水平等分宽度,将4个按钮的android:layout_weight
属性设置为1
,宽度设置为0dp
,关键代码如下:
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="1" />
最下面的两排按钮要分为左右两个LinearLayout,将左边和右边的LinearLayout的android:orientation
属性设为vertical
,把两个LinearLayout的android:layout_weight
设为3:1
,关键代码如下:
<LinearLayout
android:orientation="horizontal" >
<LinearLayout
android:layout_weight="3"
android:orientation="vertical" >
<LinearLayout
android:orientation="horizontal" >
LinearLayout>
<LinearLayout
android:orientation="horizontal" >
LinearLayout>
LinearLayout>
<LinearLayout
android:layout_weight="1"
android:orientation="vertical" >
LinearLayout>
LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:orientation="horizontal" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical|right"
android:textSize="50sp"
android:text="2+5=7" >
TextView>
LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="C"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="CE"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="%"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="÷"
android:textSize="30sp"/>
LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="7"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="8"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="9"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="×"
android:textSize="30sp"/>
LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="4"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="5"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="6"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="-"
android:textSize="30sp"/>
LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="3"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="1"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="2"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="3"
android:textSize="30sp"/>
LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="2"
android:text="0"
android:textSize="30sp"/>
<Button
android:layout_width="0dp"
android:layout_height="80dp"
android:layout_weight="1"
android:text="."
android:textSize="30sp"/>
LinearLayout>
LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" >
<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="="
android:textSize="30sp"/>
LinearLayout>
LinearLayout>
LinearLayout>