首页 > 解决方案 > 减少 imageView 和 TextView 之间的距离

问题描述

我已经在我的线性布局中以这种方式定义了一个图像视图和一个按钮:

  <ImageView
                                android:id="@+id/imageView2"

                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_margin="4dp"
                                android:layout_weight=".1"
                                android:src="@drawable/clock"/>

                        <Button
                                android:id="@+id/buttonEntryHour"
                                style="@style/Widget.AppCompat.Button.Borderless"
                                android:layout_width="0dp"
                                android:layout_height="wrap_content"
                                android:layout_margin="1dp"
                                android:layout_weight=".33"
                                android:onClick="clickTimePicker1"
                                android:text="@string/otrosEntryHourText"
                                android:textAlignment="textStart"
                                android:textColor="@color/colorPrimary"
                                app:layout_constraintEnd_toEndOf="parent"
                                app:layout_constraintStart_toStartOf="parent" />

但它们以不受欢迎的方式显示,如下所示:

在此处输入图像描述

我希望缩小图标和文本之间的距离,所以它显示如下:

在此处输入图像描述

怎么可能达到这样的效果?

标签: androidandroid-layoutmaterial-designandroid-buttonmaterial-components-android

解决方案


您的布局中的问题是使用 android:layout_weight. 删除它们。

但只需使用MaterialButtonwithapp:icon属性,而不是 2 个视图:

    <com.google.android.material.button.MaterialButton
        style="@style/Widget.MaterialComponents.Button.Icon"
        app:icon="@drawable/ic_add_24px"
        android:text="Button"
        ../>

在此处输入图像描述

app:iconPadding您可以使用该属性自定义图标和按钮文本之间的填充 。

就像是:

    <com.google.android.material.button.MaterialButton
        style="@style/Widget.MaterialComponents.Button.Icon"
        app:icon="@drawable/ic_add_24px"
        app:iconPadding="xxdp"
        android:text="Button"
        ../>

您还可以使用以下TextButton.Icon样式:

    <com.google.android.material.button.MaterialButton
        style="@style/Widget.MaterialComponents.Button.TextButton.Icon"
        app:icon="@drawable/ic_add_24px"
        android:text="Button"
        ../>

在此处输入图像描述

OutlinedButton.Icon风格:

<com.google.android.material.button.MaterialButton
    style="@style/Widget.MaterialComponents.Button.OutlinedButton.Icon"
    app:icon="@drawable/ic_add_24px"
    android:text="Button"
    ../>

在此处输入图像描述


推荐阅读