我在线性布局中以这种方式定义了 ImageView 和按钮:
<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" />
但它们以不受欢迎的方式显示,如下所示:
我希望缩小图标和文本之间的距离,所以它显示如下:
如何实现这样的目标?
最佳答案
您布局中的问题是使用 android:layout_weight
。删除它们。
但只需使用 MaterialButton
使用 app:icon
属性,而不是 2 个 View :
<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"
../>
关于android - 减少 imageView 和 TextView 之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57851719/