在我的Android应用程序中,我有这样的布局:

<?xml version="1.0" encoding="utf-8" ?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical">

    <fragment
         android:id="@+id/map"
         android:layout_width="match_parent"
         android:layout_height="0dp" 
         android:layout_weight="1" 
         class="com.google.android.gms.maps.SupportMapFragment"/>

    <Button
        android:id="@+id/button_back"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="CloseActivity"
        android:padding="0dp"
        android:text="@+string/back" />

</LinearLayout>

在预览和在手机上,它看起来是这样的:

正如你在底部区域的按钮上看到的,那里有一些填充。

我怎么能摆脱它,让按钮完全填满底部区域?


当前回答

在按钮的XML集android:includeFontPadding="false"

其他回答

你也可以用layout_width(height)参数来做。

例如,我已经用android:layout_height="18dp"代码删除了顶部和底部空间。

您可以通过将其inset设置为零来实现这一点。

android:insetBottom="0dp"
android:insetTop="0dp"

给你的按钮一个自定义背景:@drawable/material_btn_blue

为我工作过:)

   android:insetTop="0dp"
    android:insetBottom="0dp"
    android:minWidth="0dp"
    android:minHeight="0dp"
    android:padding="0dp"

删除顶部和底部填充

<com.google.android.material.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minHeight="0dp"//to effect the following parameters, this must be added!
        android:insetTop="0dp"
        android:insetBottom="0dp"/>

删除左填充和右填充

<com.google.android.material.button.MaterialButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minWidth="0dp"//to effect the following parameters, this must be added!
        android:insetLeft="0dp"
        android:insetRight="0dp"/>