Java Viewpager上一页下一页中的字体很棒

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

我正在尝试将字体箭头设置为“上一页”和“下一页”,而不是我的页面标题。我如何做到这一点?我知道如何手动添加单词,现在如何将其更改为mystrings.xml中定义的引用箭头

        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值。