Java Viewpager上一页下一页中的字体很棒
我正在尝试将字体箭头设置为“上一页”和“下一页”,而不是我的页面标题。我如何做到这一点?我知道如何手动添加单词,现在如何将其更改为mystrings.xml中定义的引用箭头Java Viewpager上一页下一页中的字体很棒,java,android,fonts,Java,Android,Fonts,我正在尝试将字体箭头设置为“上一页”和“下一页”,而不是我的页面标题。我如何做到这一点?我知道如何手动添加单词,现在如何将其更改为mystrings.xml中定义的引用箭头 Typeface font = Typeface.createFromAsset( getAssets(), "fonts/fontawesome-webfont.ttf" ); @Override public String getPageTitle(int position
Typeface font = Typeface.createFromAsset( getAssets(), "fonts/fontawesome-webfont.ttf" );
@Override
public String getPageTitle(int position) {
if (position == current_position - 1) {
String title = "Previous";
return title;
} else if (position == current_position + 1) {
String title = "Next";
return title;
}
return title;
}
对于未来的读者,根据提供的答案,这是有效的:
final Typeface font = Typeface.createFromAsset(getAssets(), "fonts/fontawesome-webfont.ttf" );
@Override
public CharSequence getPageTitle(int position) {
String title = "";
if (position == current_position - 1) {
title = "\uf137";
SpannableStringBuilder styled = new SpannableStringBuilder(title);
styled.setSpan(new CustomTypefaceSpan("", font), 0, title.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//Previous
return styled;
} else if (position == current_position + 1) {
//Next
title = "\uf138";
SpannableStringBuilder styled = new SpannableStringBuilder(title);
styled.setSpan(new CustomTypefaceSpan("",font), 0, title.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
return styled;
}
为了将任何自定义样式直接应用于文本序列(而不是在视图上设置),可以将字符串包装为
Span
。不幸的是,框架没有接受Typeface
对象的内置span对象(TypefaceSpan
接受字体系列)
但是,有许多示例(例如)用于创建将应用自定义类型面的简单子类
应用它看起来像这样:
@Override
public CharSequence getPageTitle(int position) {
Typeface font = Typeface.createFromAsset( getAssets(), "fontawesome-webfont.ttf" );
String title = "";
if (position == current_position - 1) {
title = "\uf137";
} else if (position == current_position + 1) {
title = "\uf138";
}
SpannableString styled = new SpannableString(title);
styled.setSpan(new CustomTypefaceSpan(font), 0, title.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
return styled;
}
谢谢当我回家的时候,我会检查一下。嗨,这种方法没有返回任何结果。你能不能更详细地描述一下什么不起作用?如果您没有看到任何文本,您是否尝试使用不同的span(如
scalexsspan
,或简单的方式)以确保不是span定义不正确?请查看我的更新问题,span对我无效,它仍然显示实际文本,而不是字体样式的文本;您正在使用web表示法尝试在字符串中输入unicode值。安卓不明白这一点。您的字符串值必须是\uf137
和\uf138
。\u
前缀表示这是字符的十六进制unicode值。