河南大学移动应用开发实验报告1
设计三种计算器的UI
使用必要的布局方式,设计下面三种计算器的界面:
1、简单的计算器
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
tools:layout_editor_absoluteX="49dp"
tools:layout_editor_absoluteY="0dp">
<EditText
android:id="@+id/editTextSimpleResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:gravity="end"
android:inputType="text"
android:padding="10dp"
android:textSize="24sp"
android:text="0"/>
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end|center_vertical"
android:columnCount="4"
android:padding="10dp">
<Button
android:id="@+id/buttontuige"
android:text="退格" />
<Button
android:id="@+id/buttonqingchu"
android:text="清除" />
<Button
android:id="@+id/buttonaddanddivide"
android:text="+-" />
<Button
android:id="@+id/buttonadd"
android:text="+" />
<Button
android:id="@+id/button7"
android:text="7" />
<Button
android:id="@+id/button8"
android:text="8" />
<Button
android:id="@+id/button9"
android:text="9" />
<Button
android:id="@+id/buttonDivide"
android:text="/" />
<Button
android:id="@+id/button4"
android:text="4" />
<Button
android:id="@+id/button5"
android:text="5" />
<Button
android:id="@+id/button6"
android:text="6" />
<Button
android:id="@+id/buttonMultiply"
android:text="-" />
<Button
android:id="@+id/button1"
android:text="1" />
<Button
android:id="@+id/button2"
android:text="2" />
<Button
android:id="@+id/button3"
android:text="3" />
<Button
android:id="@+id/buttonSubtract"
android:text="*" />
<Button
android:id="@+id/button0"
android:text="0" />
<Button
android:id="@+id/buttonDecimal"
android:text="." />
<Button
android:id="@+id/buttonEquals"
android:text="1/X" />
<Button
android:id="@+id/buttonAdd"
android:text="=" />
</GridLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
2、科学计算器
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent">
<EditText
android:id="@+id/editTextSimpleResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:gravity="end"
android:inputType="text"
android:padding="10dp"
android:text="0"
android:textSize="28sp" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="38dp"
android:text="角度 "/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginRight="38dp"
android:text="弧度"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="38dp"
android:text="梯度"/>
</RadioGroup>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/button11_1"
android:text="SIN" />
<Button
android:id="@+id/button11_2"
android:text="COS" />
<Button
android:id="@+id/button11_3"
android:text="TAN" />
<Button
android:id="@+id/button11_4"
android:text="COT" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="ASIN" />
<Button
android:id="@+id/button21_2"
android:text="ACOS" />
<Button
android:id="@+id/button21_3"
android:text="ATAN" />
<Button
android:id="@+id/button21_4"
android:text="ACOT" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="SINH" />
<Button
android:id="@+id/button21_2"
android:text="COSH" />
<Button
android:id="@+id/button21_3"
android:text="TANH" />
<Button
android:id="@+id/button21_4"
android:text="COTH" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="ASINH" />
<Button
android:id="@+id/button21_2"
android:text="ACOSH" />
<Button
android:id="@+id/button21_3"
android:text="ATANH" />
<Button
android:id="@+id/button21_4"
android:text="ACOTH" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="LN" />
<Button
android:id="@+id/button21_2"
android:text="LOG10" />
<Button
android:id="@+id/button21_3"
android:text="N!" />
<Button
android:id="@+id/button21_4"
android:text="X^Y" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="E^X" />
<Button
android:id="@+id/button21_2"
android:text="π" />
<Button
android:id="@+id/button21_3"
android:text="(" />
<Button
android:id="@+id/button21_4"
android:text=")" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="退格" />
<Button
android:id="@+id/button21_2"
android:text="清除" />
<Button
android:id="@+id/button21_3"
android:text="+-" />
<Button
android:id="@+id/button21_4"
android:text="+" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="7" />
<Button
android:id="@+id/button21_2"
android:text="8" />
<Button
android:id="@+id/button21_3"
android:text="9" />
<Button
android:id="@+id/button21_4"
android:text="-" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="4" />
<Button
android:id="@+id/button21_2"
android:text="5" />
<Button
android:id="@+id/button21_3"
android:text="6" />
<Button
android:id="@+id/button21_4"
android:text="*" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button21_1"
android:text="1" />
<Button
android:id="@+id/button21_2"
android:text="2" />
<Button
android:id="@+id/button21_3"
android:text="3" />
<Button
android:id="@+id/button21_4"
android:text="/" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button111_1"
android:text="0" />
<Button
android:id="@+id/button111_2"
android:text="." />
<Button
android:id="@+id/button111_3"
android:text="1/X" />
<Button
android:id="@+id/button111_4"
android:text="=" />
</TableRow>
</TableLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
3、程序计算器
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="0dp">
<EditText
android:id="@+id/editTextSimpleResult"
android:layout_width="match_parent"
android:layout_height="78dp"
android:autofillHints="0"
android:enabled="false"
android:gravity="end"
android:inputType="text"
android:padding="10dp"
android:text="@string/_0"
android:textSize="28sp"
tools:ignore="LabelFor" />
<View
android:layout_width="wrap_content"
android:layout_height="70dp" />
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:checked="true"
android:text="十六进制" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:layout_marginEnd="20dp"
android:text="十进制" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="15dp"
android:text="八进制" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:text="二进制" />
</RadioGroup>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:checked="true"
android:text="八字节" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="20dp"
android:text="四字节" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:text="二字节" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="1dp"
android:text="单字节" />
</RadioGroup>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/b1_1"
android:layout_weight="1"
android:text="NOT" />
<Button
android:id="@+id/b1_2"
android:layout_width="wrap_content"
android:layout_weight="1"
android:text="AND" />
<Button
android:id="@+id/b1_3"
android:layout_weight="1"
android:text="OR" />
<Button
android:id="@+id/b1_4"
android:layout_weight="1"
android:text="XOR" />
</TableRow>
<TableRow>
<Button
android:id="@+id/b2_1"
android:text="循环左移" />
<Button
android:id="@+id/b2_2"
android:text="循环右移" />
<Button
android:id="@+id/b2_3"
android:layout_weight="1"
android:text="左移" />
<Button
android:id="@+id/b2_4"
android:layout_weight="1"
android:text="MOD" />
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/b3_1"
android:text="无符号右移"></Button>
<Button
android:id="@+id/b3_2"
android:text="有符号右移"></Button>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="347dp"
android:paddingBottom="5dp"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/b11_1"
android:text="退格" />
<Button
android:id="@+id/b11_2"
android:text="清除" />
<Button
android:id="@+id/b11_3"
android:text="9" />
<Button
android:id="@+id/b11_4"
android:text="+-" />
</TableRow>
<TableRow>
<Button
android:id="@+id/b22_1"
android:text="6" />
<Button
android:id="@+id/b22_2"
android:text="7" />
<Button
android:id="@+id/b22_3"
android:text="8" />
<Button
android:id="@+id/b22_4"
android:text="+" />
</TableRow>
<TableRow>
<Button
android:id="@+id/b212_1"
android:text="3" />
<Button
android:id="@+id/b122_2"
android:text="4" />
<Button
android:id="@+id/b212_3"
android:text="5" />
<Button
android:id="@+id/b212_4"
android:text="-" />
</TableRow>
<TableRow>
<Button
android:id="@+id/b322_1"
android:text="0" />
<Button
android:id="@+id/b232_2"
android:text="1" />
<Button
android:id="@+id/b232_3"
android:text="2" />
<Button
android:id="@+id/b322_4"
android:text="*" />
</TableRow>
<TableRow>
<Button
android:id="@+id/b32_1"
android:text="A" />
<Button
android:id="@+id/b3252_2"
android:text="B" />
<Button
android:id="@+id/b424_3"
android:text="C" />
<Button
android:id="@+id/b232_4"
android:text="/" />
</TableRow>
<TableRow>
<Button
android:id="@+id/b252_1"
android:text="D" />
<Button
android:id="@+id/b522_2"
android:text="E" />
<Button
android:id="@+id/b225_3"
android:text="F" />
<Button
android:id="@+id/b252_4"
android:text="=" />
</TableRow>
</TableLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>