浏览代码

fix

/siyaoH-1.17-PlatformMessage
siyao 4 年前
当前提交
b356baec
共有 5 个文件被更改,包括 62 次插入97 次删除
  1. 85
      Samples/UIWidgetsSamples_2019_4/Assets/Script/TextField.cs
  2. 10
      com.unity.uiwidgets/Runtime/engine2/UIWidgetsPanel.cs
  3. 6
      com.unity.uiwidgets/Runtime/services/keyboard.cs
  4. 12
      com.unity.uiwidgets/Runtime/services/text_input.cs
  5. 46
      com.unity.uiwidgets/Runtime/widgets/editable_text.cs

85
Samples/UIWidgetsSamples_2019_4/Assets/Script/TextField.cs


using System.Collections.Generic;
using Unity.UIWidgets.animation;
using Unity.UIWidgets.engine2;
using Unity.UIWidgets.foundation;
//using Unity.UIWidgets.material;
using Unity.UIWidgets.painting;
using Unity.UIWidgets.ui;
using Unity.UIWidgets.engine2;
using FontStyle = Unity.UIWidgets.ui.FontStyle;
using Image = Unity.UIWidgets.widgets.Image;
using TextStyle = Unity.UIWidgets.painting.TextStyle;
using Unity.UIWidgets.rendering;
//using UIWidgetsGallery.gallery;
using Unity.UIWidgets.service;
using Brightness = Unity.UIWidgets.ui.Brightness;
using UnityEngine;
using System;
using uiwidgets;
using UIWidgetsGallery.gallery;
using Color = Unity.UIWidgets.ui.Color;
using Random = UnityEngine.Random;
namespace UIWidgetsSample
{

public override Widget build(BuildContext context)
{
return new CupertinoApp(
home: new HomeScreen() //new DetailScreen1("ok")
//color: Color.white
home: new HomeScreen()
);
}
}

public override Widget build(BuildContext context)
{
//return new CupertinoNavigationDemo();
//return new CupertinoAlertDemo();
//return new CupertinoPickerDemo();
return new HomeScreen3();
}
}

public override Widget build(BuildContext context)
{
return new CupertinoPageScaffold(
child: new Column(
children: new List<Widget>()
{
new Container(
height: 300,
width: 200,
color: Colors.blue
),
new MyPrefilledText()
}
child: new Center(
child:
new Container(
width: 200,
child: new MyPrefilledText()
)
public class HomeScreen2 : StatelessWidget
{
public override Widget build(BuildContext context)
{
// TODO: implement build
List<BottomNavigationBarItem> items = new List<BottomNavigationBarItem>();
items.Add(new BottomNavigationBarItem(
icon: new Icon(CupertinoIcons.bell), title: new Text("articles")));
items.Add(new BottomNavigationBarItem(
icon: new Icon(CupertinoIcons.eye_solid), title: new Text("articles")));
return new CupertinoTabScaffold(
tabBar: new CupertinoTabBar(
items: items
),
tabBuilder: (_context, index) =>
{
return new CupertinoTabView(builder: (__context) =>
{
return new CupertinoPageScaffold(
navigationBar: new CupertinoNavigationBar(
middle: index == 0 ? new Text("views") : new Text("detail")
),
child: new Center(
child: new MyPrefilledText()
// child: CupertinoButton(
// child: CupertinoButton(
// child: new Container(
// width: 200,
// height: 100,
// decoration: new BoxDecoration(
// borderRadius:
// BorderRadius.all(Radius.circular(8))),
// child: Image.network(
// "https://unity-cn-cms-prd-1254078910.cos.ap-shanghai.myqcloud.com/assetstore-cms-media/img-7dfe215f-0075-4f9c-9b5a-be5ee88b866b",
// gaplessPlayback: true)))
// )
)
);
});
});
}
}
public class MyPrefilledText : StatefulWidget
{

10
com.unity.uiwidgets/Runtime/engine2/UIWidgetsPanel.cs


return result;
}
public float devicePixelRatioOverride;
public float devicePixelRatioOverride = 1;
public float hardwareAntiAliasing;

void Input_OnGUI() {
Event e = Event.current;
if (e.isKey) {
PointerEventConverter.KeyEvent.Enqueue(new Event(e));
if (e.character != 0) {
UIWidgetsPanel_onChar(_ptr, e.character);
if (e.character != 0 || e.keyCode == KeyCode.Backspace) {
PointerEventConverter.KeyEvent.Enqueue(new Event(e));
// TODO: add on char
// UIWidgetsPanel_onChar(_ptr, e.character);
}
}
}

6
com.unity.uiwidgets/Runtime/services/keyboard.cs


while (!PointerEventConverter.KeyEvent.isEmpty()) {
var currentEvent = PointerEventConverter.KeyEvent.Dequeue();
Debug.Log($"event: {currentEvent} c: {currentEvent.character}");
if (currentEvent.modifiers == EventModifiers.FunctionKey) {
continue;
}
if (currentEvent != null && currentEvent.type == EventType.KeyDown) {
var response = TextInput._handleGlobalInputKey(_client,

this.isIMEInput = false;
}
else {
Timer.create(TimeSpan.Zero, () => { TextInput._updateEditingState(_client, _value); });
Timer.create(TimeSpan.Zero, () => { TextInput._updateEditingState(_client, _value, isIMEInput); });
}
}
}

12
com.unity.uiwidgets/Runtime/services/text_input.cs


static int _nextId = 1;
internal readonly int _id;
public void setIMEPos(Offset imeGlobalPos) {
D.assert(attached);
D.assert(imeGlobalPos != null);
D.assert(imeRequired());
TextInput.keyboardDelegate.setIMEPos(imeGlobalPos);
}
public bool imeRequired() {
return TextInput.keyboardDelegate != null && TextInput.keyboardDelegate.imeRequired();
}
public static void debugResetId(int to = 1) {
D.assert(() =>{
_nextId = to;

46
com.unity.uiwidgets/Runtime/widgets/editable_text.cs


bool cursorOpacityAnimates = false,
Offset cursorOffset = null,
bool paintCursorAboveText = false,
ui.BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight,
ui.BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight,
BoxHeightStyle selectionHeightStyle = BoxHeightStyle.tight,
BoxWidthStyle selectionWidthStyle = BoxWidthStyle.tight,
EdgeInsets scrollPadding = null,
Brightness? keyboardAppearance = Brightness.light,
DragStartBehavior dragStartBehavior = DragStartBehavior.start,

public readonly VoidCallback onSelectionHandleTapped;
public readonly ScrollController scrollController;
public readonly bool showCursor;
public readonly ui.BoxHeightStyle selectionHeightStyle;
public readonly ui.BoxWidthStyle selectionWidthStyle;
public readonly BoxHeightStyle selectionHeightStyle;
public readonly BoxWidthStyle selectionWidthStyle;
public readonly bool forceLine;
public readonly bool showSelectionHandles ;
public readonly ToolbarOptions toolbarOptions;

void _didChangeTextEditingValue() {
_updateRemoteEditingValueIfNeeded();
//_updateImePosIfNeed();
_updateImePosIfNeed();
_startOrStopCursorTimerIfNeeded();
_updateOrDisposeSelectionOverlayIfNeeded();
_textChangedSinceLastCaretUpdate = true;

return TouchScreenKeyboard.isSupported && widget.unityTouchKeyboard;
}
Offset _getImePos() {
if (_hasInputConnection && _textInputConnection.imeRequired()) {
var localPos = renderEditable.getLocalRectForCaret(_value.selection.basePos).bottomLeft;
return renderEditable.localToGlobal(localPos);
}
return null;
}
void _updateImePosIfNeed() {
if (!_hasInputConnection || !_textInputConnection.imeRequired()) {
return;
}
if (_imePosUpdateScheduled) {
return;
}
_imePosUpdateScheduled = true;
SchedulerBinding.instance.addPostFrameCallback(_ => {
_imePosUpdateScheduled = false;
if (!_hasInputConnection) {
return;
}
_textInputConnection.setIMEPos(_getImePos());
});
}
}

public readonly float? cursorWidth;
public readonly Radius cursorRadius;
public readonly Offset cursorOffset;
public readonly ui.BoxHeightStyle selectionHeightStyle;
public readonly ui.BoxWidthStyle selectionWidthStyle;
public readonly BoxHeightStyle selectionHeightStyle;
public readonly BoxWidthStyle selectionWidthStyle;
public readonly bool enableInteractiveSelection;
public readonly TextSelectionDelegate textSelectionDelegate;
public readonly bool? paintCursorAboveText;

Radius cursorRadius = null,
Offset cursorOffset = null,
bool? paintCursorAboveText = null,
ui.BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight,
ui.BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight,
BoxHeightStyle selectionHeightStyle = BoxHeightStyle.tight,
BoxWidthStyle selectionWidthStyle = BoxWidthStyle.tight,
bool enableInteractiveSelection = true,
TextSelectionDelegate textSelectionDelegate = null,
float? devicePixelRatio = null

正在加载...
取消
保存