我有一个加载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;
}
}
我应该在适配器中的哪个位置设置字体,以及如何设置字体?
我应该在适配器的哪个位置设置字体?
在构造函数中onCreateViewHolder()
或ViewHolder
构造函数中。
那么我应该如何获得字体呢?
有了那个代码。在Typeface
中创建Activity
或(如果片段中有,则创建RecyclerView
片段)。将Typeface
传入DiscoverRecyclerAdapter
。直接使用Typeface
in onCreateViewHolder()
,也可以将in传递给ViewHolder
构造函数。特别是,精确地创建的一个实例,而Typeface
不是每行一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句