Android - 自定义 Toast Class

Android - Custom Toast Class

我正在尝试创建一个 class,它应该在每次 class 的对象被实例化时显示祝酒词。 我想这样做,这样我就不会在每个 activity.

中重复相同的 toast 代码
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”中没有可用的默认构造函数; 第一个错误:“')'预期”; 关于第二个错误:“无法解析方法“getAssets””。

使用通过构造函数收到的 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 以外的其他名称来创建自定义 toast

class MyToast extends android.widget.Toast {

    public MyToast(String toast_text, Context toast_context) {
        super(toast_context);

        ...

    }
}