我正在使用 dart:html 中的 HTML 元素视图在我的 flutter web 应用程序中显示网页。它捕获其区域内的所有触摸,包括其上方 FAB 上的触摸,以及上下文中脚手架抽屉上的触摸。我什至不需要在网络视图上进行触摸输入,我只想显示它。另请注意,abstractpointer 和ignorepointer 并不能解决问题。这是在脚手架主体内显示网页的代码。
final IFrameElement _iframeElement = IFrameElement();
_iframeElement.src = "webpageurl";
_iframeElement.style.border = 'none';
// ignore: undefined_prefixed_name
ui.platformViewRegistry.registerViewFactory(
'iframeElement',
(int viewId) => _iframeElement,
);
Widget _iframeWidget;
_iframeWidget = HtmlElementView(
key: UniqueKey(),
viewType: 'iframeElement',
);
return Center(child: IgnorePointer(child: _iframeWidget));
Run Code Online (Sandbox Code Playgroud)
编辑:
final IFrameElement _iframeElement = IFrameElement();
_iframeElement.src = "https://index.hu/";
_iframeElement.style.border = 'none';
// ignore: undefined_prefixed_name
ui.platformViewRegistry.registerViewFactory(
'iframeElement',
(int viewId) => _iframeElement,
);
Widget _iframeWidget;
_iframeWidget = HtmlElementView(
key: UniqueKey(),
viewType: 'iframeElement',
);
return …Run Code Online (Sandbox Code Playgroud) 为了在谷歌地图google_maps_flutter上显示自定义小部件,我使用了一个非常方便的函数,可以将任何Widget(包括包含图像的)转换为Image,然后将其转换为Uint8List我需要的。它在 iOS 和 Android 上运行良好。
Future createImageFromWidget( Widget widget){
final RenderRepaintBoundary repaintBoundary = RenderRepaintBoundary();
final RenderView renderView = RenderView(
child: RenderPositionedBox(alignment: Alignment.center, child: repaintBoundary),
configuration: ViewConfiguration(size: const Size.square(300.0), devicePixelRatio: ui.window.devicePixelRatio),
window: null,
);
final PipelineOwner pipelineOwner = PipelineOwner()..rootNode = renderView;
renderView.prepareInitialFrame();
final BuildOwner buildOwner = BuildOwner(focusManager: FocusManager());
final RenderObjectToWidgetElement<RenderBox> rootElement = RenderObjectToWidgetAdapter<RenderBox>(
container: repaintBoundary,
child: Directionality(
textDirection: TextDirection.ltr,
child: IntrinsicHeight(child: IntrinsicWidth(child: widget)),
),
).attachToRenderTree(buildOwner);
buildOwner..buildScope(rootElement)..finalizeTree();
pipelineOwner..flushLayout()..flushCompositingBits()..flushPaint();
return repaintBoundary.toImage(pixelRatio: ui.window.devicePixelRatio)
.then((image) => image.toByteData(format: …Run Code Online (Sandbox Code Playgroud) google-maps google-maps-markers flutter flutter-image flutter-web
你如何管理ASP.NET 项目中的所有你的.js和.css文件?尤其是当他们彼此之间有很多依赖时?
我已将所有脚本合二为一。但它变得很重要,其中 90% 没有在特定页面上使用。我想要的是管理所有这些脚本的工具或指导,简单的依赖管理,有助于在页面上仅包含该页面需要的那些 JS 和 CSS。
当您使用大量控件时,还使用了 ScriptManager nut,它非常方便......也许我以错误的方式使用它。
我遇到了http://flyspy.com/miles/并对他们的图表/图表印象深刻(2 和 3 一个,我不知道这 2 是否考虑图表/图表)有谁知道如何构建它?或者他们是否使用任何 JavaScript 脚本来构建它?
我实际上map在 Dart 中使用s 并且我无法弄清楚为什么map我的示例中的变量表现得很奇怪,或者我在我的代码中做错了什么。
请有人帮我调试代码,我已经发布了代码来重现问题。
例子.dart
void main() {
var data2 = {};
var data1 = {};
var floorDetails = new Map();
floorDetails.clear();
for (int i = 0; i < 2; i++) {
data2.clear();
data1.clear();
for (int j = 0; j < 2; j++) {
data1 = {
'flat${(i + 1) * 100 + (j + 1)}': {'flattype': "flat"},
};
data2.addAll(data1);
}
print('data2=$data2');
floorDetails['floor${(i+1)}'] = data2;
print('floorDetails = $floorDetails');
}
print(floorDetails.keys);
}
Run Code Online (Sandbox Code Playgroud)
代码的输出是:
floorDetails = { …Run Code Online (Sandbox Code Playgroud) dart ×2
flutter ×2
flutter-web ×2
javascript ×2
asp.net ×1
charts ×1
css ×1
google-maps ×1
graph ×1
html ×1