Какова функция _ShowAndroidToastMessage () в ARCore? - PullRequest
0 голосов
/ 21 февраля 2019

Я нашел этот метод при чтении скрипта HelloARController в HelloAR, но я не мог понять эту функцию: 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");
        }));
    }
}

Ответы [ 2 ]

0 голосов
/ 14 апреля 2019

Toasts в Android используются для отображения Notification в пределах Activity.Возможно, вы знаете, какие сообщения оповещения находятся в HTML.Используя функцию javaScript alert(), мы можем Alert пользователя о чем-либо, используя всплывающее сообщение, пользователь видит сообщение и нажимает кнопку OK, чтобы закрыть диалоговое окно.Сообщения

Toast в программировании Android похожи, но сами по себе terminated / dismissed (у нас нет кнопок).Нам нужно установить период времени, за который должно отображаться сообщение. Когда время истекает, сообщение исчезает, обычно оно отображается внизу страницы Activity.

*Метод 1018 * является одним из вариантов обмена сообщениями в тостах.

Вот еще один простой пример тоста:

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();
    }
}

enter image description here

Надеюсь, это поможет.

0 голосов
/ 21 февраля 2019

Это просто показывает тост сообщение, которое поддерживается Android.См. https://developer.android.com/guide/topics/ui/notifiers/toasts.

...