如何删除Android中的button周围的填充?

在我的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> 

在预览和电话中,它看起来像:

正如你可以看到在底部区域的button,那里有一些填充。

我怎样才能摆脱这一点,并让button完全填充底部区域?

对我来说,这个问题原来是一些Android主题上的minHeight和minWidth。

在Button元素上,添加:

 <Button android:minHeight="0dp" android:minWidth="0dp" ... 

或者在你的button样式中:

 <item name="android:minHeight">0dp</item> <item name="android:minWidth">0dp</item> 

这不是填充,它是背景中button的阴影可绘制的。 创build自己的背景,它会消失。

一个解决方法可能是尝试使用-ve值的边缘如下所示:

 <Button android:id="@+id/button_back" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="CloseActivity" android:padding="0dp" android:layout_marginLeft="-5dip" android:layout_marginRight="-5dip" android:layout_marginTop="-5dip" android:layout_marginBottom="-5dip" android:text="@string/back" /> 

这将使这个空间消失。 我的意思是你可以select适当的dip值,这使得它消失。 它为我工作。 希望对你有效。

我是新来的机器人,但我有类似的情况。 我做了@Delyanbuild议的内容,并在xml布局文件中使用了android:background =“@ null”。

在button的XML设置android:includeFontPadding="false"

我有同样的问题,似乎是因为button的背景颜色 。 尝试改变背景颜色为另一种颜色,例如:

  android:background="@color/colorActive" 

看看它是否有效。 然后,您可以定义一个样式,如果你想button使用。

它为我工作。

干杯

为了消除切换button的填充,我们需要设置minWidth和minHeight 0dp。 android:minWidth="0dp" android:minHeight="0dp"

  <ToggleButton android:id="@+id/toggle_row_notifications" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="0dp" android:minHeight="0dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:padding="@dimen/_5sdp" android:textOn="" android:textOff="" android:background="@android:color/transparent" android:button="@drawable/toggle_selector" /> 

设置您的可绘制文件的button属性,如: android:button="@drawable/toggle_selector"

以下是我的toggle_selecter.xml文件

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/notifications_toggle_on" android:state_checked="true"/> <item android:drawable="@drawable/notifications_toggle_off" android:state_checked="false"/> </selector> 

它似乎不是填充,边距,或minheight /宽度。 设置android:background="@null"该button失去了触摸animation,但事实certificate,将背景设置为任何东西都可以修复该边框。


我目前正在与:

 minSdkVersion 19 targetSdkVersion 23