我有一个名为CommonCode的类,用于存储我经常需要的所有方法。
其中一种方法是使用自定义布局创建一个toast。我想给TextView提供一个自定义字体,所以我使用TypeFace。 当我试图从我的资产文件夹中获取自定义字体时,它会出错。
我得到的问题“方法getAsssets()未定义类型Context”。
这是我的代码: CommonCode类
public class CommonCode {
public static void showToast(String toastString, Context context, View view) {
LayoutInflater inflater = LayoutInflater.from(context);
View layout = inflater.inflate(R.layout.toast_layout, (ViewGroup) view);
ImageView image = (ImageView) layout.findViewById(R.id.toastImage);
image.setImageResource(R.drawable.android);
TextView text = (TextView) layout.findViewById(R.id.toastText);
Typeface type = Typeface.createFromFile(context.getAsssets(), "fonts/aircruiser.ttf");
text.setTypeface(type);
text.setText(toastString);
Toast toast = new Toast(context);
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
}
}
谢谢你们!
答案 0 :(得分:3)
使用getAssets()
代替getAsssets(),
:
Typeface type= Typeface.createFromAsset(context.getAssets(), "fonts/aircruiser.ttf");
text.setTypeface(type);