您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
113 行
2.7 KiB
113 行
2.7 KiB
using Unity.UIWidgets.engine2;
|
|
using Unity.UIWidgets.foundation;
|
|
using Unity.UIWidgets.painting;
|
|
using Unity.UIWidgets.widgets;
|
|
using TextStyle = Unity.UIWidgets.painting.TextStyle;
|
|
using ui_ = Unity.UIWidgets.widgets.ui_;
|
|
using uiwidgets;
|
|
using Unity.UIWidgets.gestures;
|
|
using Unity.UIWidgets.material;
|
|
using Color = Unity.UIWidgets.ui.Color;
|
|
|
|
namespace UIWidgetsSample
|
|
{
|
|
/**
|
|
*
|
|
* STILL NOT WORKING, THERE SHOULD BE A BUG. FIX IT !!!!
|
|
*
|
|
*/
|
|
public class HoverSample : UIWidgetsPanel
|
|
{
|
|
protected void OnEnable()
|
|
{
|
|
base.OnEnable();
|
|
}
|
|
|
|
protected override void main()
|
|
{
|
|
ui_.runApp(new MyApp());
|
|
}
|
|
|
|
class MyApp : StatelessWidget
|
|
{
|
|
public override Widget build(BuildContext context)
|
|
{
|
|
return new MaterialApp(
|
|
debugShowCheckedModeBanner: false,
|
|
title: "Flutter Demo",
|
|
home: new Scaffold(
|
|
appBar: new AppBar(title: new Text("good")),
|
|
body: new Center(
|
|
child: new MyStatefulWidget()
|
|
)
|
|
)
|
|
);
|
|
}
|
|
}
|
|
|
|
class MyStatefulWidget : StatefulWidget
|
|
{
|
|
public MyStatefulWidget(Key key = null) : base(key: key)
|
|
{
|
|
}
|
|
|
|
public override State createState() => new _MyStatefulWidgetState();
|
|
}
|
|
|
|
class _MyStatefulWidgetState : State<MyStatefulWidget>
|
|
{
|
|
Color textColor = Colors.blue;
|
|
int _enterCounter = 0;
|
|
int _exitCounter = 0;
|
|
float x = 0.0f;
|
|
float y = 0.0f;
|
|
|
|
void _incrementEnter(PointerEvent details)
|
|
{
|
|
UnityEngine.Debug.Log("enter");
|
|
setState(() => { _enterCounter++; });
|
|
}
|
|
|
|
void _incrementExit(PointerEvent details)
|
|
{
|
|
setState(() =>
|
|
{
|
|
textColor = Colors.blue;
|
|
_exitCounter++;
|
|
});
|
|
}
|
|
|
|
void _updateLocation(PointerEvent details)
|
|
{
|
|
setState(() =>
|
|
{
|
|
textColor = Colors.red;
|
|
x = details.position.dx;
|
|
y = details.position.dy;
|
|
});
|
|
}
|
|
|
|
|
|
public override Widget build(BuildContext context)
|
|
{
|
|
return new MouseRegion(
|
|
onEnter: _incrementEnter,
|
|
onHover: _updateLocation,
|
|
onExit: _incrementExit,
|
|
child: new FlatButton(
|
|
color: Colors.white,
|
|
textColor: Colors.teal[700], //when hovered text color change
|
|
shape: new RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(5),
|
|
side: new BorderSide(
|
|
color: Colors.teal[700]
|
|
)
|
|
),
|
|
onPressed: () => { },
|
|
child: new Text("Log in", style: new TextStyle(color: textColor))
|
|
)
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|