Java Android:XML按钮和编程创建的按钮的字体大小略有不同(属性相同)

Java Android:XML按钮和编程创建的按钮的字体大小略有不同(属性相同),java,android,xml,layout,fonts,Java,Android,Xml,Layout,Fonts,我有一个在ScrollView中有多个按钮的应用程序,我在活动开始后以编程方式添加了更多按钮(自定义用户按钮) 所有按钮都具有相同的样式和属性,但在屏幕上以编程方式创建的按钮的文本略为粗体 我在布局检查器中检查了它们,它们的属性值都相同,比如getTextSize(20)、getTypefaceStyle(NORMAL)、高度、宽度、样式等等 是什么原因导致这些属性具有相同值时粗体不同 一个XML按钮的示例: <Button android:

我有一个在ScrollView中有多个按钮的应用程序,我在活动开始后以编程方式添加了更多按钮(自定义用户按钮)

所有按钮都具有相同的样式和属性,但在屏幕上以编程方式创建的按钮的文本略为粗体

我在布局检查器中检查了它们,它们的属性值都相同,比如getTextSize(20)、getTypefaceStyle(NORMAL)、高度、宽度、样式等等

是什么原因导致这些属性具有相同值时粗体不同

一个XML按钮的示例:

            <Button
            android:id="@+id/button_autre"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/background_selector2o"
            android:text="Bonbons"
            android:textAppearance="@style/TextAppearance.AppCompat"
            android:textStyle="normal"
            android:textAllCaps="false"
            android:textColor="#ffffff"
            android:textSize="20sp"
            android:layout_marginTop="20dp"
            />
按钮样式xml的内容:

<resources>
    <style name="ndftype_style" parent="AppTheme.NoActionBar">
        <item name="android:background">@drawable/background_selector2o</item>
        <item name="android:textAppearance">@style/TextAppearance.AppCompat</item>
        <item name="android:textColor">#ffffff</item>
        <item name="android:textSize">20sp</item>
        <item name="android:layout_marginTop">20dp</item>
        <item name="android:textAllCaps">false</item>
        <item name="android:textStyle">normal</item>
    </style>
</resources>

@可绘制/背景\u选择器2o
@style/TextAppearance.AppCompat
#ffffff
20便士
20dp
假的
正常的

结果:

和通常情况一样,我在写问题时有了一个想法,谢谢金丝雀效应

尽管所有的按钮都有相同的样式,而且在任何地方都没有为它们指定字体,但Android似乎将不同的默认字体赋予了这两种按钮。我不知道为什么会这样

添加

<item name="android:fontFamily">sans-serif</item>
<item name="android:fontFamily">sans-serif</item>
button.setTypeface(Typeface.DEFAULT);