Android 克里斯詹克斯的书法图书馆不起作用
在设置默认字体时,我按照他的文档中的说明进行了操作:Android 克里斯詹克斯的书法图书馆不起作用,android,fonts,custom-font,calligraphy,Android,Fonts,Custom Font,Calligraphy,在设置默认字体时,我按照他的文档中的说明进行了操作: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setupDefaultFont(); setContentView(R.layout.activity_main); setupToolbarAndNavigationDra
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupDefaultFont();
setContentView(R.layout.activity_main);
setupToolbarAndNavigationDrawer();
}
public void setupDefaultFont() {
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/OpenSans-Regular.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
}
我还将字体放在资产/font
中,但没有用。
Roboto仍然显示为默认字体,而不是打开SAN。我试着将它逐个手动应用到每个TextView
,但仍然不起作用
你知道为什么这样不行吗
更多信息:(以防有用)
我的MiniSDK版本是15,TargetSDK版本是22。
这些是我的依赖项:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:design:22.2.0'
compile 'com.android.support:recyclerview-v7:21.0.3'
compile 'com.android.support:cardview-v7:21.0.3'
compile 'de.hdodenhof:circleimageview:1.2.1'
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
}
这是我正在使用的自定义主题
<resources>
<style name="myIIT_theme" parent="Theme.AppCompat">
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorPrimary">@color/primary</item>
<item name="android:textColorPrimary">@color/white</item>
<item name="android:windowBackground">@color/tertiary_dark</item>
<item name="android:activatedBackgroundIndicator">@drawable/selected_drawer</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
@颜色/原色/深色
@颜色/原色
@颜色/白色
@颜色/颜色/深浅
@可抽出/选定的抽屉
假的
真的
要使配置生效,您应该在自定义应用程序的onCreate()方法中而不是在活动中设置默认字体
另外,say中的说明通过覆盖活动中的方法注入上下文,如下所示:
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
除了@Theo的回答外,请确保在清单中注册自定义应用程序
<application
android:name=".MyApplication" <----------- HERE
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
如github中自述文件所述,
这个版本的书法已经走到了尽头,不再保存。请迁移到 无论如何谢谢你!在你回答之前就知道了。应该是我自己来回答的。谢谢。所以我们需要在每个活动中重写attachBaseContext()?是的。或者创建一个通用的超类,并从中继承每个活动。它在android API 26的AppCompatView中不再工作!