UIWidgets笔记

2020-02-21  本文已影响0人  loqo

介绍

效率

跨平台

3D支持

学习方式

使用说明

using Unity.UIWidgets.engine;
using Unity.UIWidgets.widgets;
using Unity.UIWidgets.painting;
using Unity.UIWidgets.ui;
namespace MyTestUIWidgets{
public class SetUpApp : UIWidgetsPanel
{
protected override Widget createWidget(){//创建一个UI窗口
return new Text(//文本对象
data:"Hello World",//数据内容
style :new TextStyle(//风格设置
color: Color.white ,
fontSize:20,
fontStyle: FontStyle.italic )
);
}
}
}'…

using Unity.UIWidgets.engine;
using Unity.UIWidgets.widgets;
using Unity.UIWidgets.painting;
using Color = Unity.UIWidgets.ui.Color;
//using Unity.UIWidgets.ui;
using UnityEngine;
namespace MyTestUIWidgets
{
public class OnClickExample : UIWidgetsPanel
{
protected override Widget createWidget(){
return
//GestureDetector 包含的很多事件
new GestureDetector(//需要绑定事件的控件外层套一层GestureDetector
child: new Text(
data: " On Click",
style: new TextStyle(
color: Color.white,
fontSize: 20 )
),
onTap :()=>{//事件回调
Debug.Log( "On click ");
}
);
}
}
}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.UIWidgets.engine;
using Unity.UIWidgets.painting;
using Unity.UIWidgets.widgets;
using Color= Unity.UIWidgets.ui.Color;
namespace MyTestUIWidgets{
public class ViewData_State : UIWidgetsPanel
{
protected override Widget createWidget(){
return new Counter();
}
class Counter :StatefulWidget{ //可以进行数据更新的Ui控件
public override State createState(){
return new CounterState() ;//返回一个State
}
}
class CounterState:State<Counter>{//State 用于进行数据存储
private int mClickCount { get; set; }=0;//数据
public override Widget build(BuildContext context)//创建State对象
{
return new GestureDetector(
child: new Text(
data: "Click Count:"+ mClickCount,
style: new TextStyle(
fontSize: 50,
color: Color.white)),
onTap: () =>
{
//第一种方法
//(context as StatefulElement).markNeedsBuild(); //手动刷新面板
Debug.Log(" Click Me");
//第二种方法
this.setState( fn: ()=>{//修改数据刷新面板(官方推荐用法)
this.mClickCount++;
} );
}
);
}
}
}
}

上一篇 下一篇

猜你喜欢

热点阅读