如何(如果可能的话)我可以在我的资产文件夹中使用字体在ActionBar标题文本中设置自定义字体(仅限 - 而不是标签文本)?我不想使用android:logo选项.
我尝试了几种不同的方法,包括在这里找到的方法(这反过来让我尝试了这个问题的两个最佳答案),以及使用反射来访问TextView并设置相关方法.两次尝试均失败,前者导致根本没有文本被设置为标题(我将文本设置为正确的textview元素),后者设置文本并删除椭圆,但根本没有绘制.以下是我的反思尝试.
import android.content.Context;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.widget.TextView;
import android.widget.Toast;
import java.lang.reflect.Field;
public class MarqueeToolbar extends Toolbar {
public MarqueeToolbar(Context context) {
super(context);
}
public MarqueeToolbar(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MarqueeToolbar(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void setTitle(CharSequence title) {
if (!reflected) {
reflected = reflectTitle();
}
super.setTitle(title);
}
@Override
public void setTitle(int resId) {
if (!reflected) {
reflected = reflectTitle();
} …Run Code Online (Sandbox Code Playgroud) java android android-actionbar android-5.0-lollipop android-toolbar