_ShowAndroidToastMessage() 在 ARCore 中的功能是什么?

What is function of _ShowAndroidToastMessage() in ARCore?

我在看HelloAR中HelloARController的脚本时发现了这个方法,但是我看不懂这个函数:private void _ShowAndroidToastMessage(string message)).

有人可以为我解释一下这个功能吗?

/// <summary>
/// Show an Android toast message.
/// </summary>
/// <param name="message">Message string to show in the toast.</param>
private void _ShowAndroidToastMessage(string message)
{
    AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    AndroidJavaObject unityActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");

    if (unityActivity != null)
    {
        AndroidJavaClass toastClass = new AndroidJavaClass("android.widget.Toast");
        unityActivity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
        {
            AndroidJavaObject toastObject = toastClass.CallStatic<AndroidJavaObject>("makeText", unityActivity,
                message, 0);
            toastObject.Call("show");
        }));
    }
}

它只显示 Android 支持的祝酒消息。 参考https://developer.android.com/guide/topics/ui/notifiers/toasts.

Android中的

Toasts用于在Activity中显示Notification。您可能知道 HTML 中有哪些警报消息。使用 javaScript alert() 函数,我们可以 Alert 用户使用弹出消息了解某事,用户看到该消息并单击 OK 按钮关闭对话框。

Toast Android 编程中的消息类似,但它们本身是 terminated/dismissed(我们没有任何按钮)。我们需要设置一个消息必须显示的时间段,当到达时间消息逐渐消失,它通常显示在 Activity 页面的底部。

_ShowAndroidToastMessage() method is one of the varieties for Toast messaging.

这是 Toast 的另一个简单示例:

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        View toastView = toast.getView();
        Toast toast = Toast.makeText(this,
                                     "This is a Toast message!", 
                                     Toast.LENGTH_LONG);

        toast.setTextColor(Color.WHITE);
        toast.setGravity(Gravity.BOTTOM, 0, 0);
        toastView.setBackgroundColor(Color.RED);
        toast.show();
    }
}

希望这对您有所帮助。