android – 在RecyclerView适配器中设置自定义字体

我有一个片段加载RecyclerView但我想在其中一个RecyclerView的项目中向TextView添加自定义字体.我的适配器应该在哪里设置字体?我怎么设置字体?

我无法使用此代码,

Typeface font = Typeface.createFromAsset((getAssets(),"myfont.ttf");

因为我不在活动中.那我应该如何获得字体?

这是我的适配器,

public class discoverRecyclerAdapter
        extends RecyclerView.Adapter<discoverRecyclerAdapter.ViewHolder> {

    private String[] mDataset;

    public static class ViewHolder extends RecyclerView.ViewHolder {
        public TextView mText;
        public ViewHolder(android.support.v7.widget.CardView v) {
            super(v);
            mText = (TextView) v.findViewById(R.id.text);
        }
    }

    public discoverRecyclerAdapter(String[] myDataset) {
        mDataset = myDataset;
    }

    @Override
    public discoverRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) {
        View v = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.item_discover,parent,false);
        ViewHolder vh = new ViewHolder((android.support.v7.widget.CardView)v);
        return vh;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder,int position) {
        holder.mText.setText(mDataset[position]);
    }

    @Override
    public int getItemCount() {
        return mDataset.length;
    }
}

我应该在适配器中设置字体以及如何设置字体?

解决方法

Where in my adapter should I set the font?

在onCreateViewHolder()或ViewHolder构造函数中.

So how should I get the font?

有了那个代码.在Activity(或片段,如果RecyclerView在片段中)中创建字体.将Typeface传递给discoverRecyclerAdapter.直接使用onCreateViewHolder()中的Typeface,或者将其传递给ViewHolder构造函数.特别是,恰好创建一个字体实例,而不是每行一个.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...