unity版本:2019.2.12f1
VS版本:2015
1、打开 Windows -> Package Manager 。在Advaced勾选Show dependencies和 Show preview packages,等待左边数据刷新后选中UIWidgets点击右下方Installing下载.


2、安装好后在Hierarchy处新建一个canvas。canvas下新建一个空的object,就可以开始创建代码了

3、新建脚本,UI不过是文本和图片构成,所以先尝试添加文本。
using Unity.UIWidgets.widgets;
using Unity.UIWidgets.engine;
using Unity.UIWidgets.ui;
public class TextWidgets:UIWidgetsPanel
{
protected override Widget createWidget() {
return new Text(
data: "文本内容测试",
style:new Unity.UIWidgets.painting.TextStyle(
color:Color.white,
fontSize:32,
fontStyle:FontStyle.italic
),
textAlign:TextAlign.center
);
}
}
将这段文字挂载到刚才创建的object上,运行:

TextStyle包含了很多关于字体样式的设置,具体的就按需处理了。
3、关于图片显示,和文本一样,先创建一个空的Gameobject,取名为img。在Assets下创建resources文件夹,并放入一张名为btn.jpg的图片到resources文件夹下。可以上代码了:
using Unity.UIWidgets.widgets;
using Unity.UIWidgets.engine;
public class ImageUIWidgets : UIWidgetsPanel {
protected override Widget createWidget() {
return Unity.UIWidgets.widgets.Image.asset("btn");
}
}
将代码挂载到刚才创建的img上,运行:

UIWidgets还可以通过Unity.UIWidgets.widgets.Image.network("https://www.baidu.com/img/xinshouyedong_4f93b2577f07c164ae8efa0412dd6808.gif")来加载网络图片资源:

直接支持Gif.通过本地加载的gif图片却卡在第一帧,并不会动,不明所以。。。
4、让图片支持点击事件
把刚才加载图片的类替换成下列代码:
using Unity.UIWidgets.widgets;
using Unity.UIWidgets.engine;
using UnityEngine;
public class ImageUIWidgets : UIWidgetsPanel {
protected override Widget createWidget() {
return new GestureDetector(
child: Unity.UIWidgets.widgets.Image.asset("btn"),
onTap: () => { Debug.LogWarning("点击了按钮"); }
);
}
}
运行测试:

Done
点击事件参考链接:https://www.cnblogs.com/kerven/p/10863376.html
图片处理参考链接:https://blog.csdn.net/chzphoenix/article/details/101428455 Image组件部分
网友评论