• Android开发实例 Unity显示Toast


    Android中的Toast是一种简易的消息提示框。

    当视图显示给用户,在应用程序中显示为浮动。和Dialog不一样的是,它永远不会获得焦点,无法被点击。用户将可能是在中间键入别的东西。Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到。而且Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失。

    这里的所有做法都和前面一样,只是前面我们都只定义了一个简单的add方法拿给Unity使用,并没有什么卵用。

    1 通过扩展MainActivity实现

    在Android Studio中定义显示Toast的方法

    通过Unity调用

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    public class Test : MonoBehaviour {
    
    	void Start () {
            AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
            jo.Call("ShowToast", "Send from Unity");
    	}
    
    }
    

    打包

    2 通过C#调用实现

    没那么多操作,直接Unity代码实现就行了。但是建议还是用上面的方法,麻烦了许多,但是写着简单。

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    public class Test : MonoBehaviour {
    
    	void Start () {
            AndroidJavaClass unitPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject currentActivity = unitPlayer.GetStatic<AndroidJavaObject>("currentActivity");
            AndroidJavaClass toast = new AndroidJavaClass("android.widget.Toast");
            AndroidJavaObject context = currentActivity.Call<AndroidJavaObject>("getApplicationContext");
    
            currentActivity.Call("runOnUiThread",new AndroidJavaRunnable(() => {
                toast.CallStatic<AndroidJavaObject>("makeText", context, "Send from Unity", toast.GetStatic<int>("LENGTH_LONG")).Call("show");
            }));
    	}
    
    }
    
  • 相关阅读:
    jquery blockUI插件实现遮罩层
    ckeditor粘入word内容如何默认设置为保留样式
    抓紧时间把c学习一下
    4G时代的解释
    。。。。
    几个常用的VS快捷键
    清除html标记并截取前50个字符
    SQL Server 2005 sp2安装后导入数据出错的处理方法
    自己做的一道机试题
    敏捷合同摘自网络
  • 原文地址:https://www.cnblogs.com/lmx282110xxx/p/10798664.html
Copyright © 2020-2023  润新知