[英]How do i add custom font on menu item in Android?
我一直在尝试为我的菜单项添加一个字体,并尝试了一些我找到的解决方案,但它们都没有为我工作。
方法1: 如何在NavigationView中为项目设置自定义字体?
方法2:
菜单XML
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_notification1"
android:icon="@mipmap/filter_button"
android:title="action_notification"
app:showAsAction="always">
<menu>
<item
android:id="@+id/navmenu_cat"
android:icon="@mipmap/categories"
android:orderInCategory="100"
android:title="@string/categories" />
<item
android:id="@+id/navmenu_date"
android:icon="@mipmap/calendar"
android:orderInCategory="100"
android:title="@string/date" />
</menu>
</item>
</menu>
我的课
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.work_history, menu);
for (int i = 0; i < menu.size(); i++) {
Typeface face = Typeface.createFromAsset(getAssets(), "ar_regular.ttf");
SpannableStringBuilder title = new SpannableStringBuilder(menu.getItem(i).getTitle().toString());
title.setSpan(face, 0, title.length(), 0);
MenuItem menuItem = menu.getItem(i);
menuItem.setTitle(title);
}
return true;
}
你可以使用这个lib https://github.com/chrisjenx/Calligraphy 。 将它附加到上下文时,它会将menuItem的默认字体设置为
There is a library https://github.com/chrisjenx/Calligraphy,
Add this dependency to your build gradle
dependencies {
compile 'uk.co.chrisjenx:calligraphy:2.3.0'
}
Then in your activity override this method
@Override
public void onCreate() {
super.onCreate();
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/Roboto-RobotoRegular.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
//....
}
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.