我正在尝试创建一个类,每当该类的对象被闲置时,该类都可以显示敬酒。
我想这样做,以免每次活动都重复相同的吐司代码...
我正在使用的以下代码有两个错误。它们以这种方式突出显示**。
第一个错误是在活动上下文中,第二个错误是在getAssets函数中加载字体。
public class Toast extends android.widget.Toast {
String toast_text;
Context toast_context;
public Toast(String toast_text, Context toast_context) {
this.toast_text = toast_text;
this.toast_context = toast_context;
Toast toast = android.widget.Toast.makeText(**this.toast_context.this**, this.toast_text, Toast.LENGTH_LONG);
ViewGroup view = (ViewGroup) toast.getView();
view.setBackgroundResource(R.drawable.background_global);
TextView messageTextView = (TextView) view.getChildAt(0);
messageTextView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
messageTextView.setTextSize(35);
Typeface face_font = Typeface.createFromAsset(**getAssets()**, "res/font/aldrich.ttf");
messageTextView.setTypeface(face_font);
messageTextView.setTextColor(Color.CYAN);
toast.show();
}
}
我做错了什么?我不明白...该代码在其他活动中也能正常工作...
这些是以下错误:
关于构造函数:““ android.widget.toast”中没有默认的构造函数;
关于第一个错误:“')'预期”;
关于第二个错误:“无法解析方法“ getAssests””。
使用通过构造函数收到的toast_context
创建toast
并访问asset
Toast toast = android.widget.Toast.makeText(toast_context, toast_text, Toast.LENGTH_LONG);
Typeface face_font = Typeface.createFromAsset(toast_context.getAssets(), "res/font/aldrich.ttf");
此外,您应该使用Toast
以外的其他名称来创建自定义吐司
class MyToast extends android.widget.Toast {
public MyToast(String toast_text, Context toast_context) {
super(toast_context);
...
}
}