计时器字体在android中不会改变

Sye*_*aan 2 xml android chronometer android-layout

我想在 android.I 中更改我的计时器的字体。我已将默认字体设置为自定义字体。该字体似乎适用于除天文钟以外的所有地方。我也试过设置,android:fontFamily="@font/myfont"但没有用。虽然字体似乎应用在预览窗口中,但当我在我的设备上运行我的应用程序时它不会改变。

有什么办法克服它吗?

这是我的代码:

<Chronometer
            android:fontFamily="@font/linotte_semibold"
            android:id="@+id/audio_player_chronometer"
            android:layout_width="wrap_content"
            android:layout_height="20dp"
            android:layout_below="@+id/frame_layout"
            android:textColor="@color/white"
            android:layout_margin="5dp"
            />
Run Code Online (Sandbox Code Playgroud)

Rah*_*aur 5

您可以从 Google Material 下载字体

  1. 转到布局编辑器
  2. 选择您的viewAll Attributes在右侧查看并找到fontFamily

具有默认字体的 fontFamily 属性

  1. 现在点击down arrow,它会打开一个选择字体的窗口

Google 字体资源

  1. 找到你想要的字体,你也可以搜索并点击 ok

  2. Chronometer会看起来不一样

更改字体的预览

这是代码

<Chronometer
    android:id="@+id/chronometer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:fontFamily="@font/allan_bold"
    android:textColor="@color/colorAccent"
    android:textSize="30sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
Run Code Online (Sandbox Code Playgroud)

如果字体没有改变,请在您的Activity.class

Chronometer chronometer = findViewById(R.id.chronometer);

chronometer.setTypeface(ResourcesCompat.getFont(this, R.font.allan_bold));
//replace allan_bold with your desired font 
Run Code Online (Sandbox Code Playgroud)

编辑 1 这是设备中的输出 设备输出

希望这会有所帮助!