繁体   English   中英

如何为Android的操作栏或活动标题设置自定义字体?

[英]How to Set Custom Font for Action bar or Activity title Android?

我正在尝试更改活动标题的字体,但无法正常工作。 请提出建议? 我正在尝试这样

SpannableString s = new SpannableString("LOGIN");
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/OpenSans-Regular.ttf");
s.setSpan(tf, 0, s.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

// Update the action bar title with the TypefaceSpan instance
ActionBar actionBar = getActionBar();
actionBar.setTitle(s);

我知道这个问题已经很久以前问过了,但这可能会对其他人有所帮助。 显然,您不能将字样对象用作setSpan方法的输入,尽管它确实将Object作为其第一个参数(并且一切都是对象),但是要设置自定义字体,则第一个参数需要是TypefaceSpan对象:

s.setSpan(new TypefaceSpan(***), 0, s.length, flag); // whatever flag you are using

问题是,TypefaceSpan接受String或Parcelable而不是Typeface对象,据我所知,例如,您不能设置从资产创建的自定义字体。 这实际上是我被困的地方,因为我正在寻找一个解决方案,而不是扩展TypefaceSpan对象的“ notme” 在这里建议的解决方案,尽管它可能起作用,但是我正在寻找一种更简单,更优雅的方法。

祝你好运,编码愉快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM