Android实现计算器

前台页面代码,通过线性布局方式实现计算器页面:如图所示

技术分享

XML代码如下:

<LinearLayout 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:orientation="vertical" >

    <!-- layout_height:设置文本框高度 -->
    <!-- editable:设置文字不可以编辑 -->
    <!-- gravity:设置文字靠右下 -->
    <!-- background:为自定义的样式,新建drawable文件夹,在drawable下新建white_bg.xml文件 -->

    <EditText
        android:id="@+id/et_Text"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:background="@drawable/white_bg"
        android:editable="false"
        android:ems="10"
        android:layout_marginTop="20dp"
        android:gravity="right|bottom" >

        <requestFocus android:layout_width="wrap_content" />
    </EditText>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btn_clear"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="C"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_del"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="del"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_divide"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="÷"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_nultiply"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="×"
            android:textSize="20sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btn_7"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="7"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_8"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="8"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_9"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="9"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_minus"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="-"
            android:textSize="20sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btn_4"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="4"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_5"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="5"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_6"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="6"
            android:textSize="20sp" />

        <Button
            android:id="@+id/btn_plus"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="+"
            android:textSize="20sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:orientation="horizontal" >

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

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

                <Button
                    android:id="@+id/btn_1"
                    android:layout_width="0dp"
                    android:layout_height="60dp"
                    android:layout_weight="1"
                    android:text="1"
                    android:textSize="20sp" />

                <Button
                    android:id="@+id/btn_2"
                    android:layout_width="0dp"
                    android:layout_height="60dp"
                    android:layout_weight="1"
                    android:text="2"
                    android:textSize="20sp" />

                <Button
                    android:id="@+id/btn_3"
                    android:layout_width="0dp"
                    android:layout_height="60dp"
                    android:layout_weight="1"
                    android:text="3"
                    android:textSize="20sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:orientation="horizontal" >

                <Button
                    android:id="@+id/btn_0"
                    android:layout_width="0dp"
                    android:layout_height="60dp"
                    android:layout_weight="4"
                    android:text="0"
                    android:textSize="20sp" />

                <Button
                    android:id="@+id/btn_point"
                    android:layout_width="0dp"
                    android:layout_height="60dp"
                    android:layout_weight="2"
                    android:text="."
                    android:textSize="20sp" />
            </LinearLayout>
        </LinearLayout>
        <Button
            android:id="@+id/btn_equals"
            android:layout_width="match_parent"
            android:layout_height="130dp"
            android:layout_weight="3"
            android:text="="
            android:textSize="20sp" />
    </LinearLayout>

</LinearLayout>

 

white_bg.xml,自定义的输入文本框样式

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- 设置圆角的幅度 -->
    <corners android:radius="5dp" />
    <!-- 设置渐变颜色 起始为白色 color是手动添加的颜色枚举 -->
    <gradient android:startColor="@color/white" />
    <!-- 设置渐变颜色 结束为银灰色 -->
    <gradient android:endColor="@color/gray" />

    <!-- 边线 -->
    <stroke
        android:width="1dp"
        android:color="@color/black" />
</shape>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。