【问题标题】:How to remove padding between grid of ImageButtons如何删除 ImageButtons 网格之间的填充
【发布时间】:2018-03-17 12:08:23
【问题描述】:

我有下一个带有 4 个 Imagebuttons 的 XML,我在两个 LinearLayouts 中设置了图像,我给按钮的权重为 1,因此它们将在同一行中排序,

 <LinearLayout
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_width="match_parent">
        <ImageButton
            android:id="@+id/bt5"
            android:layout_width="match_parent"
            android:layout_height="90dp"
            android:layout_weight="1"
            android:onClick="btClick"
            android:scaleType="fitXY"
            android:tag="empty" />
        <ImageButton
            android:layout_width="match_parent"
            android:layout_height="90dp"
            android:onClick="btClick"
            android:scaleType="fitXY"
            android:id="@+id/bt6"
            android:layout_weight="1"
            android:tag="empty"
            />
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageButton
            android:layout_marginRight="0dp"
            android:layout_marginTop="0dp"
            android:layout_width="match_parent"
            android:layout_height="90dp"
            android:onClick="btClick"
            android:id="@+id/bt7"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:tag="empty"
            />

        <ImageButton
            android:layout_width="match_parent"
            android:layout_height="90dp"
            android:onClick="btClick"
            android:id="@+id/bt8"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:tag="empty"
            />
    </LinearLayout>

你可以在按钮之间有空白空间,有没有办法去除那个空间并使彼此粘在一起?

【问题讨论】:

  • 我遇到了同样的问题,我只是通过添加margins with negative value来解决它
  • 设置 android:backgroung="@null" 或设置透明色或设置任何其他颜色。

标签: android xml android-linearlayout


【解决方案1】:

您可以通过添加以下任一方法来删除它:

android:background="@null"

或:

android:background="@android:color/transparent"

或:

style="?android:attr/borderlessButtonStyle"

ImageButton

但是您将无法识别这些按钮。您应该添加不同的背景颜色或边框来分隔它们

【讨论】:

  • 感谢后台 null 做得最好:)
【解决方案2】:

试试这个 :- ( 使用 android:layout_marginLeft="-3dp"android:layout_marginRight="-3dp"

<ImageButton
        android:id="@+id/bt5"
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:layout_weight="1"
        android:onClick="btClick"
        android:scaleType="fitXY"
        android:tag="empty"
        android:layout_marginRight="-3dp" />
    <ImageButton
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:onClick="btClick"
        android:scaleType="fitXY"
        android:id="@+id/bt6"
        android:layout_weight="1"
        android:tag="empty"
        android:layout_marginLeft="-3dp"
        />

【讨论】: