覆盖系统字体

时间:2018-07-25 17:45:30

标签: android fonts override

我希望我的应用拥有自己的字体。我不希望它使用系统字体。有什么方法可以使用应用程序提供的字体代替默认系统字体?

基本上,我已经在文本视图中包含(已经尝试过):android:fontFamily="sans-serif"

textview的完整布局参数:

<TextView
                    android:id="@+id/TVcontrolStructures"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:background="#ecf0f1"
                    android:fontFamily="sans-serif"
                    android:gravity="center_vertical|center_horizontal"
                    android:onClick="TVClick"
                    android:paddingLeft="10dp"
                    android:text="Control Structures"
                    android:textColor="#2c3e50"
                    android:textSize="30sp"
                    android:typeface="sans" />

但是当我在手机上运行它时,它会给出系统字体,而不是这些字体。

我也没有找到任何相对的问题。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

尝试使用Calligraphy库。
首先添加gradle依赖项:

df.rdd.repartition(1).map(_.split("|")).saveAsTextFile("/tmp/max_column_length_"+tableName).map(_.toString().replace("[", "").replace("]", ""))

然后在compile 'uk.co.chrisjenx:calligraphy:2.3.0'文件夹中创建一个名为fonts的文件夹,并将字体粘贴到其中。

设置textView字体:
Assets

安装 在<TextView fontPath="fonts/MyFont.ttf"/>方法的 Application类中,使用CalligraphyConfig定义默认字体。

onCreate()