【问题标题】:How to remove the white spaces between two buttons in in Linear Layout?如何删除线性布局中两个按钮之间的空白?
【发布时间】:2019-07-16 06:12:17
【问题描述】:

我一直在尝试使用 Android Studio 制作我的第一个应用程序。我尝试了很多方法,包括layout_margin="-8dp",但似乎没有一个能够删除按钮之间的空格。我不希望出现线性布局中的空间。它是按钮的自然特性吗?我应该用 TextView 替换它并为其设置 onClick 还是也可以与按钮一起使用?

https://imgur.com/a/PnsbLSW

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        android:id="@+id/RelativeLayoutTop"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <EditText
            android:id="@+id/Result"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:hint="Result"
            android:gravity="right|bottom"
            android:textSize="26sp"
            android:layout_alignParentBottom="true"/>
    </RelativeLayout>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="500dp"
        android:weightSum="5"
        android:orientation="vertical"
        android:layout_alignParentStart="true">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:weightSum="3">
            <Button
                android:id="@+id/clear"
                android:text="CLEAR"
                android:textColor="#06279B"
                android:textSize="35sp"
                android:layout_weight="1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" />
        </LinearLayout>

我希望按钮之间没有空格。但是我可以清楚地看到线性布局的白色。

【问题讨论】:

  • 嘿,我可以帮你解决这个问题,但你发布的代码不完整。请更新是这样我可以告诉你到底该怎么做。谢谢
  • pastebin.com/AnejFSHj我已将其更改为文本视图,但问题仍然存在。

标签: android android-layout android-linearlayout android-button


【解决方案1】:

您可以为此使用表格布局,如下所示,...

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<RelativeLayout
    android:id="@+id/RelativeLayoutTop"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1">

    <EditText
        android:id="@+id/Result"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:hint="Result"
        android:gravity="right|bottom"
        android:textSize="26sp"/>
</RelativeLayout>

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

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="CLEAR"
        android:textColor="@color/accent"
        android:textSize="@dimen/margin_30dp"
        android:gravity="center"
        android:textStyle="bold"
        android:background="@color/primary_light"/>

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/simpleTableLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TableRow
            android:id="@+id/firstRow"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4">
            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="7"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="8"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="9"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="+"
                android:textColor="@color/accent"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

        </TableRow>

        <TableRow
            android:id="@+id/secondRow"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4">
            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="4"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="5"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="6"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="-"
                android:textColor="@color/accent"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

        </TableRow>

        <TableRow
            android:id="@+id/thirdRow"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4">
            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="1"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="2"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="3"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="x"
                android:textColor="@color/accent"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

        </TableRow>

        <TableRow
            android:id="@+id/fourthRow"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="4">
            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="0"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="."
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="="
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>

            <TextView
                android:layout_height="@dimen/margin_100dp"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@color/temp_grey"
                android:text="/"
                android:textColor="@color/accent"
                android:gravity="center"
                android:textSize="@dimen/margin_30dp"/>
        </TableRow>
    </TableLayout>
</LinearLayout>

希望对你有帮助!! 谢谢!!

【讨论】:

    【解决方案2】:

    检查下面的代码,为顶部和左/右添加负值边距

    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight=".4"
            android:gravity="bottom">
        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textAlignment="viewEnd"
                android:hint="Result"/>
    </LinearLayout>
    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight=".6"
            android:orientation="vertical">
    
        <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Clear"
                android:textSize="20sp"/>
        <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dimen_50"
                android:gravity="center"
                android:layout_marginBottom="-6dp">
            <Button
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".25"
                    android:text="7"
                    android:textSize="20sp"
                    android:layout_marginRight="-5dp"/>
            <Button android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".25"
                    android:text="8"
                    android:textSize="20sp"
                    android:layout_marginRight="-5dp"/>
            <Button android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".25"
                    android:text="9"
                    android:textSize="20sp"
                    android:layout_marginRight="-5dp"/>
            <Button android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".25"
                    android:text="+"
                    android:layout_marginRight="-5dp"
                    android:textSize="20sp"/>
        </LinearLayout>
        <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dimen_50"
                android:gravity="center"
                android:layout_marginTop="-6dp">
            <Button
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".25"
                    android:text="4"
                    android:layout_marginRight="-5dp"
                    android:textSize="20sp"/>
            <Button android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".25"
                    android:text="5"
                    android:layout_marginRight="-5dp"
                    android:textSize="20sp"/>
            <Button android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".25"
                    android:text="6"
                    android:layout_marginRight="-5dp"
                    android:textSize="20sp"/>
            <Button android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight=".25"
                    android:text="-"
                    android:layout_marginRight="-5dp"
                    android:textSize="20sp"/>
        </LinearLayout>
    </LinearLayout>
    

    【讨论】: