普通字体在某些设备上显示为斜体。为什么以及如何修复?

时间:2016-08-08 20:40:34

标签: android

问题是TextView中的文字在Android模拟器上看起来很好,但它并不适用于实际的设备。这不是我的设备,我不熟悉Android系统,所以我不知道它是否被系统设置覆盖了。

以下是它在模拟器上的外观:

Emulator screenshot

以下是它在设备上的外观:

Actual device

的TextView:

<TextView
    android:id="@+id/text_header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="@style/AppTheme.Text.StepperHeader"
    android:text="Header"/>

风格:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- No text-related settings here. -->
</style>

<style name="AppTheme.Text">
    <item name="android:textColor">#1F1F1F</item>
</style>

<style name="AppTheme.Text.StepperHeader">
    <item name="android:textSize">14sp</item>
</style>

如果问题在AppCompat主题中作为父母 - 我应该使用哪一个? 我希望在所有设备上都能看到一致的应用。你能解释它为什么会发生以及如何解决它吗?

1 个答案:

答案 0 :(得分:1)

为了能够(几乎)在每台设备上获得相同的字体结果,请使用自定义字体。您可以从DaFont等网站下载一个。然后,您可以使用Calligraphy库轻松地(并且无需深入了解Android样式的详细信息)将自定义字体应用于UI小部件。有关示例用法,请参阅其蛋糕文档。