书法字体在style.xml中不起作用

时间:2016-09-01 08:29:52

标签: android fonts

您好我尝试使用Calligraphy

我的活动中有这个:

@Override
protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}

我想在这个布局中使用字体(它是片段的布局):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:fontPatch="http://schemas.android.com/apk/res-auto"
    style="@style/fragmentMainBackground"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:paddingBottom="@dimen/grid_0"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/grid_0"

tools:context=".app.mainscreen.MainActivity"
tools:ignore="MissingPrefix">


    <TextView
    android:id="@+id/statusTv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="@style/fontDexlineProRegular"/>

//...

和我的风格:

<style name="fontDexlineProRegular" parent="android:TextAppearance">
    <item name="fontPath">fonts/DexlinePro-Regular.ttf</item>
</style>

这不起作用。

但是当我尝试使用它时:字体工作

//...
<TextView
android:id="@+id/statusTv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fontPath="fonts/DexlinePro-Regular.ttf"/>
//...

如何设置样式中的字体? style.xml有什么问题?

2 个答案:

答案 0 :(得分:0)

  

将您的DexlinePro_Regular.ttf放入资源文件夹

注意:请使用ttf文件...

并设置为textview ..

   TextView statusTv= (TextView) findViewById(R.id.statusTv);
    Typeface font = Typeface.createFromAsset(getAssets(), "DexlinePro_Regular.ttf");
    statusTv.setTypeface(font);

答案 1 :(得分:0)

我添加了这个:CalligraphyConfig.initDefault( ...并开始工作:/