wrap_content在按钮高度android中不起作用

“wrap_content”在按钮中不起作用,如下所示:

now want _____________ | | _____________ | aaaaaa | => | aaaaaaaaaaa | |____________| -------------- 

和我在xml中的按钮代码:

  

如何解决这个问题呢? 谢谢!

Button是一个Viewandroid:minHeight属性设置为48dip默认值。 您可以将minHeight设置为低于实际文本’aaaaa’,例如1dp。 然后wrap_content将起作用。 但我不认为这是推荐的。

wrap_content不会缩小小于背景的按钮。 如果您已经使用九个补丁作为背景,那么将区域的大小缩减到最小。 如果没有渐变,那么您只需要两个像素来定义可伸展区域,然后确保中心区域尽可能小。 使用填充(ninepatch上的右线和底线)来分配填充。

如果你正在使用一个可绘制的图像(不是九个补丁或xml可绘制的),那么使它成为九个可绘制的补丁

如果您不想解决图像中的问题,则需要将layout_height设置为固定值以强制图像缩小(即不使用wrap_content)

一种解决方案是将android:padding="@null"到XML中的按钮。 这将覆盖强制执行的任何现有填充。

还有一个问题我遇到的问题是按钮不会缩小比默认按钮样式中定义的填充小。 我前段时间在我自己的问题中突出了这一点,但还没有得到解决它的答案。

背景是添加不需要的填充

更改背景不起作用,以及padding =“@ null”。

我最终使用了TextView,因为我的按钮非常简单,足以满足要求: