如何使用自定义适配器在列表视图中更改文本视图字体



我有一个列表视图,包括 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 文件

最新更新