我有一个列表视图,包括 2 个文本视图,我有一个适配器。 如何更改自定义适配器中文本视图的字体?
在自定义适配器和 getview(( 方法中编码如下:
childFont = Typeface.createFromAsset(getActivity().getAssets(),"fonts/Roboto-Light.ttf");
titleText.setTypeface(childFont);
示例:
@Override
public View getView(int position, View view, ViewGroup parent) {
ViewHolder holder = null;
view = mInflater.inflate(R.layout.layout_list_img_item, null);
Typeface face1= Typeface.createFromAsset(context.getAssets(), "font/font.ttf");
holder.textView = view.findViewById(R.id.list_item);
holder.textView.setText(mData.get(position));
holder.textView.setTypeface(face1);
return view;
}
public static class ViewHolder {
public TextView textView;
}
试试这种方式
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
NotiAdapter.ViewHolder viewholder;
if (convertView == null)
{
LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = li.inflate(R.layout.layout_list, null);
viewholder = new NotiAdapter.ViewHolder();
viewholder.txtTitle=(TextView)convertView.findViewById(R.id.txt_title);
Typeface custom_font = Typeface.createFromAsset(context.getAssets(),"youtFont.ttf");
viewholder.txtTitle.setTypeface(custom_font);
convertView.setTag(viewholder);
}
else
{
viewholder = (NotiAdapter.ViewHolder) convertView.getTag();
}
viewholder.txtTitle.setText(ArNotiList.get(position).getTitle());
return convertView;
}
并确保资产文件夹包含 youtFont.ttf 文件