fzhangtj
6 年前
当前提交
cd58f0a7
共有 12 个文件被更改,包括 316 次插入 和 10 次删除
-
1Assets/UIWidgets/Tests/Gestures.cs
-
1Assets/UIWidgets/Tests/RenderBoxes.cs
-
1Assets/UIWidgets/Tests/RenderEditable.cs
-
17Assets/UIWidgets/Tests/Widgets.cs
-
14Assets/UIWidgets/editor/editor_window.cs
-
49Assets/UIWidgets/gestures/binding.cs
-
11Assets/UIWidgets/gestures/converter.cs
-
54Assets/UIWidgets/gestures/events.cs
-
46Assets/UIWidgets/rendering/proxy_box.cs
-
29Assets/UIWidgets/widgets/basic.cs
-
100Assets/UIWidgets/Tests/MouseHover.cs
-
3Assets/UIWidgets/Tests/MouseHover.cs.meta
|
|||
using System.Collections.Generic; |
|||
using UIWidgets.foundation; |
|||
using UIWidgets.painting; |
|||
using UIWidgets.rendering; |
|||
using UIWidgets.widgets; |
|||
using Color = UIWidgets.ui.Color; |
|||
|
|||
namespace UIWidgets.Tests |
|||
{ |
|||
public class MouseHoverWidget:StatefulWidget |
|||
{ |
|||
public MouseHoverWidget(Key key) : base(key) |
|||
{ |
|||
} |
|||
|
|||
public override State createState() |
|||
{ |
|||
return new _MouseHoverWidgetState(); |
|||
} |
|||
} |
|||
|
|||
class _MouseHoverWidgetState:State<MouseHoverWidget> |
|||
{ |
|||
|
|||
public static Widget createRow(bool canHover = true, bool nest = false) |
|||
{ |
|||
Widget result = new Container(width: 200, height: 60, color: Color.fromARGB(255, 255, 0, 255)); |
|||
if (canHover) |
|||
{ |
|||
result = new HoverTrackWidget(null, |
|||
result); |
|||
} |
|||
|
|||
if (nest) |
|||
{ |
|||
result = new Container(child:result, padding: EdgeInsets.all(40), color: Color.fromARGB(255, 255, 0, 0)); |
|||
result = new HoverTrackWidget(null, |
|||
result); |
|||
} |
|||
|
|||
return result; |
|||
} |
|||
|
|||
public override Widget build(BuildContext context) |
|||
{//1 131231
|
|||
return new Container( |
|||
alignment: Alignment.center, color: Color.fromARGB(255, 0, 255, 0), |
|||
child: new Column( |
|||
mainAxisAlignment:MainAxisAlignment.spaceAround, |
|||
children: new List<Widget> |
|||
{ |
|||
createRow(), |
|||
createRow(false), |
|||
createRow(), |
|||
createRow(true, true), |
|||
})); |
|||
} |
|||
} |
|||
|
|||
public class HoverTrackWidget : StatefulWidget |
|||
{ |
|||
public readonly Widget child; |
|||
public HoverTrackWidget(Key key, Widget child) : base(key) |
|||
{ |
|||
this.child = child; |
|||
} |
|||
|
|||
public override State createState() |
|||
{ |
|||
return new _HoverTrackWidgetState(); |
|||
} |
|||
} |
|||
|
|||
class _HoverTrackWidgetState : State<HoverTrackWidget> |
|||
{ |
|||
private bool hover; |
|||
public override Widget build(BuildContext context) |
|||
{ |
|||
return new Listener(child: |
|||
new Container( |
|||
forgroundDecoration: hover ? new BoxDecoration(color: Color.fromARGB(80, 255, 255, 255)) : null, |
|||
child: widget.child |
|||
), |
|||
onPointerEnter: (evt) => { |
|||
if (mounted) |
|||
{ |
|||
setState(() => { hover = true; }); |
|||
} }, |
|||
onPointerLeave: (evt) => |
|||
{ |
|||
if (mounted) |
|||
{ |
|||
setState(() => { hover = false; }); |
|||
} |
|||
} |
|||
); |
|||
} |
|||
} |
|||
|
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: ec7305290445466da6da50593cdaa4b7 |
|||
timeCreated: 1542181137 |
撰写
预览
正在加载...
取消
保存
Reference in new issue