我需要创建自定义动画吐司消息。现在我需要知道这是否可行。我用自定义视图创建了一个toast,但我无法弄清楚如何在toast中添加自定义动画。
这是我到目前为止的代码。
private void showToast() {
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast,
(ViewGroup) findViewById(R.id.custom_toast_layout_id));
// set a message
TextView text = (TextView) layout.findViewById(R.id.toast_text);
text.setText("Button is clicked!");
// Toast...
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
});
}
答案 0 :(得分:3)
使用现有的Android Toast类无法做到这一点。库存样式多士(添加到WindowManager而不是ViewGroup)仅限于四个系统动画,不接受项目中的动画。如果您想使用库存类型Android Toasts的不同系统动画,请查看我在SuperToasts library中的操作方式。为一个实例编写这样的类可能不值得,所以我建议使用我的库,如果你发现它有用或者编写一个类似于吐司的自定义视图类。您可以在库的this类中看到我是如何做到的。
答案 1 :(得分:0)
使用无法更改的系统显示Toasts,因此您无法更改Toast动画。 但是你可以自己制作类似吐司的视图,并根据需要设置动画。