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

}

 

转载于:https://www.cnblogs.com/lmx282110xxx/p/10798664.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值