Android中不需要的填充或按钮周围的边距

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中不需要的填充或按钮周围的边距相关的知识,希望对你有一定的参考价值。

这是我运行该应用时的当前外观:

Preview app

如您所见,按钮周围有一些边距/填充。我希望他们在理想情况下能走得更远。我试图更改页边距,填充和约束。

这是两个按钮(在LinearLayout中)当前XML的外观。

<Button
    android:id="@+id/cameraPageButton"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:text="@string/cameraPageButton"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    android:backgroundTint="@color/CallPageButton"/>

<Button
    android:id="@+id/messagePageButton"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:backgroundTint="@color/MessagePageButton"
    android:text="@string/messagePageButton"
    app:layout_constraintBottom_toTopOf="@id/cameraPageButton"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent" />
答案

我认为您无法在XML中修改此行为。我个人认为,可以使用TextView达到相同的效果。如果需要类似的背景(例如默认的Button本身),则可以创建带有圆角的可绘制对象,如果还需要一些阴影,则可以添加高程。

    <TextView
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:background="#fff"
        android:fontFamily="@font/m_bo"
        android:gravity="center"
        android:text="press"
        android:textAllCaps="true"
        android:textColor="#242424"
        android:textSize="@dimen/text_size_large" />
另一答案

您可以使用颜色简单地覆盖默认背景

<Button
    android:id="@+id/cameraPageButton"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:text="Camera Page Button"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    android:background="@color/colorAccent"
    app:layout_constraintStart_toStartOf="parent"/>
另一答案

使用支持库v7,实际上已经定义了所有样式并可以使用。

所以您可以这样设置按钮样式,它将填充所有空间

<Button
    style="@style/Widget.AppCompat.Button.Borderless"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:text="BUTTON"
    android:gravity="center"
    android:minHeight="0dp"
    android:minWidth="0dp"
    android:background="@color/colorAccent"/>

以上是关于Android中不需要的填充或按钮周围的边距的主要内容,如果未能解决你的问题,请参考以下文章

如何正确删除Android中按钮周围的填充(或边距?)?

在水平的RecyclerView中显示ImageView会在Android中的图像周围放置大的边距(?)

为啥切换按钮周围有奇怪的填充/边距?

QPushButton 更改同一布局中其他小部件的边距

android中编辑文本内的边距

绝对定位 div 的边距底部在 Chrome 中工作,但在 Safari 或 Firefox 中不可用