嗨,我正在开发一个小型计算器应用程序,我想删除按钮的行和列之间的间距,我希望计算器按钮彼此连接。就像地砖我使用网格布局但仍然有少量任何两个按钮之间留下的空间
这是布局xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/calc_board"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:inputType="text"/>
<GridLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="0dp"
android:layout_weight="2"
android:columnCount="4"
android:rowCount="5"
android:useDefaultMargins="false" >
<Button
android:id="@+id/clear_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_column="0"
android:layout_row="0"
android:text="@string/clear_btn"
android:textSize="25sp" />
<Button
android:id="@+id/cross_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_column="1"
android:layout_row="0"
android:drawableLeft="@drawable/ic_action_backspace"
android:drawableStart="@drawable/ic_action_backspace"
android:textSize="20sp" />
<Button
android:id="@+id/divide_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_column="2"
android:layout_row="0"
android:text="@string/divide_btn"
android:textSize="30sp" />
<Button
android:id="@+id/multiply_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_column="3"
android:layout_row="0"
android:text="@string/mult_btn"
android:textSize="30sp" />
<Button
android:id="@+id/seven_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_column="0"
android:layout_row="1"
android:text="@string/seven_btn"
android:textSize="25sp" />
<Button
android:id="@+id/eight_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_column="1"
android:layout_row="1"
android:text="@string/eight_btn"
android:textSize="25sp" />
</GridLayout>
</LinearLayout>
&#13;
答案 0 :(得分:0)
看起来可能是因为您将按钮设置为特定尺寸。为简单起见,我将在水平方向上进行解释,但同样的事情基本上是在垂直方向上发生的。对于水平方向,您指定80dp作为按钮宽度,但您将gridlayout宽度设置为match_parent。如果您的按钮没有填充由网格布局分配给它们的总实际大小的宽度,则基于它的总宽度(在您定义的布局中由屏幕的宽度确定),您可能最终得到额外的按钮周围的空间。
答案 1 :(得分:0)
看起来您似乎为按钮大小指定了固定的宽度和高度。如果您使用特定的高度和宽度,它可能在不同的屏幕上看起来不同。
您可以使用LinearLayout而不是GridLayout,如下所示。
我认为这可能会对你有所帮助.. :)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/calc_board"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:inputType="text" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
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/clear_btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Clear"
android:textSize="25sp" />
<Button
android:id="@+id/clear_bt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Clear"
android:textSize="25sp" />
<Button
android:id="@+id/clear_bn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Clear"
android:textSize="25sp" />
<Button
android:id="@+id/clea"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Clear"
android:textSize="25sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/clea1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Clear"
android:textSize="25sp" />
<Button
android:id="@+id/clea2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Clear"
android:textSize="25sp" />
<Button
android:id="@+id/clea3r_bn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Clear"
android:textSize="25sp" />
<Button
android:id="@+id/clea4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Clear"
android:textSize="25sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>