我想为我的一个textview制作自定义字体,但我还是
cannot resolve method getAssets()
以下是代码的一部分:
@Override
public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
final String childText = (String)getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater)this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_item, parent, false);
}
Utils.setFontAllView((ViewGroup)convertView);
TextView txtListChild = (TextView)convertView.findViewById(R.id.txtcardname);
txtListChild.setTypeface(null, Typeface.BOLD);
TextView kategoria = (TextView)convertView.findViewById(R.id.kategoria);
kategoria.setText(this.KATEGORIE[numerKategori]);
custom_font = Typeface.createFromAsset(getAssets(), "fonts/capture.ttf");
txtListChild.setTypeface(custom_font);
我想用这段代码制作它:
custom_font = Typeface.createFromAsset(getAssets(), "fonts/capture.ttf");
txtListChild.setTypeface(custom_font);
答案 0 :(得分:0)
将您的代码更新为此功能:
custom_font = Typeface.createFromAsset(mContext.getAssets(), "fonts/capture.ttf");
您无法在没有观看背景的情况下访问您的资产。所以Context是强制性的
而不是在getView方法中设置字体,您可以在自定义textview类中定义字体,通过使用它可以减少内存,并且您的应用程序性能会更好。
答案 1 :(得分:0)
您可以使用上下文调用getAssets。使用此:
custom_font = Typeface.createFromAsset(this._context.getAssets(), "fonts/capture.ttf");
祝你好运。
答案 2 :(得分:0)
您希望从代码中将其用于适配器
执行以下更改
使用上下文
确保您的资产文件夹中的字体存在capture.ttf文件
检查文件capture.ttf的路径
Context context = null;
Typeface custom_font = Typeface.createFromAsset(context.getAssets(), "fonts/capture.ttf");
txtListChild.setTypeface(custom_font);