android - 普通字体在某些设备上显示为斜体。为什么以及如何解决?

标签 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 中——我应该改用哪一个? 我想要在所有设备上保持一致的应用外观。您能解释一下为什么会发生这种情况以及如何解决它吗?

最佳答案

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

关于android - 普通字体在某些设备上显示为斜体。为什么以及如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38838144/

相关文章:

android - 我应该使用 MonoDroid 还是 Android?

android - 我将如何从 android 中的 DialogFragment 启动 TimepickerDialog?

android - 如何从 Java (Android) 以函数指针作为参数调用 C++ 方法

android - 签名的 apk 在 proguard 启用时崩溃

使用 Kotlin 的 Android Joda-Time

java - Android (Java) 使用服务器简单发送和接收 - 快速设置挑战

安卓工作室 : UnsatisfiedLinkError: findLibrary returned null - loading native library

android - 带有recyclerview的firebase android分页

android - 所有 Corona SDK 项目在舞台上都以某种方式偏离中心,即使是示例代码也是如此

java - 如何在 Android 编程中对所有屏幕分辨率使用单个可绘制对象?