如何减少 Android 按钮对象中文本周围的内部填充?

新手上路,请多包涵

示例按钮

所以,目前我有一个看起来像上面第一张图片的按钮。如何减少按钮本身内文本周围的填充(看起来更像第二张图片)?

布局宽高设置为:

 android:layout_width="match_parent"
android:layout_height="wrap_content"

自定义样式形状有参数”

 <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">

其余的只是颜色属性和半径值。

只是为了清楚起见,我希望按钮的框架更靠近“登录”文本。

非常感谢所有帮助和反馈。谢谢。

原文由 Imran NZ 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 481
2 个回答

我花了很长时间才找到这个,但是按钮中文本周围的“填充”根本不是真正的填充。默认的 Widget.Button 样式包括一个 minHeight 属性。在按钮上更改 minHeight 将允许您按预期调整填充。

 <Button
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/test"
        android:textColor="@color/black"
        android:minHeight="40dip"/>

<style name="Widget.Holo.Button" parent="Widget.Button">
    <item name="android:background">@android:drawable/btn_default_holo_dark</item>
    <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
    <item name="android:textColor">@android:color/primary_text_holo_dark</item>
    <item name="android:minHeight">48dip</item>
    <item name="android:minWidth">64dip</item>
</style>

原文由 Steven 发布,翻译遵循 CC BY-SA 4.0 许可协议

In the Material Components Library, the MaterialButton has a default style with insetBottom and insetTop with a value of 6dp .

您可以在布局中更改它们:

   <com.google.android.material.button.MaterialButton
      android:insetTop="0dp"
      android:insetBottom="0dp"
      ../>

或风格:

  <style name="Button_no_insets" parent="Widget.MaterialComponents.Button"..>
    <item name="android:insetTop">0dp</item>
    <item name="android:insetBottom">0dp</item>
 </style>

在此处输入图像描述在此处输入图像描述

原文由 Gabriele Mariotti 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题