Android中的按钮文本垂直对齐功能已关闭

jve*_*ios 5 java android button

我在Android应用中遇到按钮文字对齐问题.我有一个XML定义的按钮,如下所示:

<Button
        android:id="@+id/reportanissuebutton"
        android:layout_width="272sp"
        android:layout_height="32sp"
        android:text="@string/button_report_issue"
        android:textColor="#fff"
        android:textSize="18sp"
        android:gravity="center_vertical|center_horizontal"
        android:background="@xml/report_issue_button"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="40sp"/>
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

button.jpg

我希望文本在垂直和水平方向都居中,就像我的应用程序中的所有其他按钮一样,但由于某种原因,它会略微向下偏移.我似乎无法弄清楚为什么这样做,所以任何帮助将不胜感激.

编辑:这是按钮背景的XML:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="6dp" />
    <stroke android:color="#c2c2c2" android:width="2dp" />
    <gradient 
        android:angle="90"
        android:startColor="#000"
        android:endColor="#919191"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

mar*_*son 30

试试这个:

android:includeFontPadding="false"
Run Code Online (Sandbox Code Playgroud)

它帮助我解决了类似的问题.

  • 这个,以及设置paddingTop和paddingBottom到0dp有帮助. (4认同)
  • 最后,一些聪明的人说出了正确的答案,而不是每个 android 开发人员都知道的事情! (2认同)

Dis*_*Dev 6

如果以编程方式构建视图,请使用以下命令:

button.setIncludeFontPadding(false);
Run Code Online (Sandbox Code Playgroud)


Qua*_*arK 5

这对我有用:

android:gravity="fill_vertical"
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!


Kyl*_*leM 3

试试这个:在不同的设备上,dip 的大小比 sp 好得多,并且默认情况下没有重力完全居中

<Button
    android:id="@+id/reportanissuebutton"
    android:layout_width="272dip"
    android:layout_height="32dip"
    android:text="@string/button_report_issue"
    android:textColor="#fff"
    android:textSize="18dip"
    android:background="@xml/report_issue_button"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="40sp"/>
Run Code Online (Sandbox Code Playgroud)

另外:当字体对于按钮来说太高时,这件事发生在我身上,尝试稍微减小字体的大小和/或增加按钮的高度......这解决了我的问题。