我正在尝试制作一个四功能计算器应用程序。两个空行是计算中涉及的数字。我遇到的问题是“结果”框。由于我使用了relativelayout,因此所有内容的放置都与“结果”框相关。如果我先计算,比如2 + 2,'结果'是4,那就没关系。但是,如果我做5 + 5并且'结果'现在是10,一个两位数字,一切都会因为'结果'发生变化而稍微改变。有没有办法让'结果'改变大小,但保留其他一切?
答案 0 :(得分:1)
所以你可能不会使用相对布局。 但我们可以使用TableLayout吗?
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:layout_weight="2"
android:layout_margin="20dp"
android:layout_height="0dp"
android:layout_width="match_parent">
<EditText
android:inputType="number"
android:layout_gravity="bottom"
android:id="@+id/num_1"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
<Space android:layout_weight="1"
android:layout_width="0dp"/>
<EditText
android:inputType="number"
android:layout_gravity="bottom"
android:id="@+id/num_2"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:layout_weight="1"
android:layout_margin="20dp"
android:layout_height="0dp"
android:layout_width="match_parent">
<TextView
android:singleLine="true"
android:text="Result"
android:gravity="center"
android:textSize="24sp"
android:id="@+id/result"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_column="18" />
</TableRow>
<TableRow
android:layout_weight="1"
android:layout_margin="20dp"
android:layout_height="0dp"
android:layout_width="match_parent">
<Button
android:text="ADD"
android:id="@+id/add"
android:layout_width="0dp"
android:layout_weight="3"
android:layout_height="wrap_content"/>
<Space
android:layout_width="0dp"
android:layout_weight="2"
/>
<Button
android:text="SUBTRACT"
android:id="@+id/sub"
android:layout_weight="3"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:layout_weight="1"
android:layout_margin="20dp"
android:layout_height="0dp"
android:layout_width="match_parent">
<Button
android:text="MULTIPLY"
android:id="@+id/multi"
android:layout_width="0dp"
android:layout_weight="3"
android:layout_height="wrap_content"/>
<Space
android:layout_width="0dp"
android:layout_weight="2"
/>
<Button
android:text="DIVIDE"
android:id="@+id/divide"
android:layout_weight="3"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</TableRow>
</TableLayout>