没有从样式中应用TextClock字体

时间:2019-05-01 14:43:32

标签: android xml

我在TextClocks中有两个Toolbar

  <androidx.appcompat.widget.Toolbar
        style="@style/Toolbar"
        android:id="@+id/action_bar"
        android:layout_width="match_parent"
        android:layout_height="80px"
        android:elevation="4dp"
        android:gravity="center_vertical"
        android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintHorizontal_bias="1.0">


    <LinearLayout
            android:id="@+id/time_container"
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:layout_marginRight="24px">

        <TextClock
                android:id="@+id/date"
                android:format12Hour="EEEE, d MMM  yyyy"
                android:format24Hour="EEEE, d MMM  yyyy"
                android:layout_width="wrap_content"
                android:textAppearance="@style/Toolbar"
                android:layout_height="0dp"
                android:layout_gravity="right|center_vertical"
                android:layout_weight="1"/>

        <TextClock
                android:id="@+id/time"
                android:layout_width="wrap_content"
                android:textAppearance="@style/Toolbar"
                android:layout_gravity="right|center_vertical"
                android:layout_height="0dp"
                android:layout_weight="1"/>

    </LinearLayout>

我给了他们两个在styles.xml中定义的样式“工具栏”,如下所示:

<style name="Toolbar" >

    <item name="android:fontFamily">@font/greycliff_cf_bold</item>
    <item name="android:background">@color/toolbars</item>
    <item name="android:textColor">@color/navBarText</item>
    <item name="android:textSize">20px</item>

</style>

但是,当TextClocks采用样式的颜色时,它们并未采用指定的字体。项目中的其他视图也具有该字体并按应显示的方式显示。发生什么事了?

1 个答案:

答案 0 :(得分:0)

我终于找到了一种以编程方式进行设置的方法:

private lateinit var timeClock:TextClock

timeClock=findViewById(R.id.time_text_clock)

val typeface = ResourcesCompat.getFont(Context,R.font.font_name)

timeClock.typeface = typeface