Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 创建Rikulo自定义视图并为其孩子提供正确的位置_Dart_Rikulo - Fatal编程技术网

Dart 创建Rikulo自定义视图并为其孩子提供正确的位置

Dart 创建Rikulo自定义视图并为其孩子提供正确的位置,dart,rikulo,Dart,Rikulo,为什么万物都有绝对的位置? 我试图制作一个带有标题的面板,标题在面板的子节点后面,因为子节点处于绝对位置。 如果自定义视图不尊重我的布局,我如何构建它们?我想控制孩子们的位置。 我不喜欢这种方法有人能让我清醒一下吗 下面是一个简单的代码示例: class MyPanel extends View { String title; MyPanel() { } @override Element render_() => new Element.html('<div cl

为什么万物都有绝对的位置? 我试图制作一个带有标题的面板,标题在面板的子节点后面,因为子节点处于绝对位置。 如果自定义视图不尊重我的布局,我如何构建它们?我想控制孩子们的位置。 我不喜欢这种方法有人能让我清醒一下吗

下面是一个简单的代码示例:

class MyPanel extends View {
 String title;
 MyPanel() {
 }
  @override
  Element render_() =>
  new Element.html('<div class="v-shadow"><div class="v-title">$title</div><div class="v-inner" id="$uuid-inner"></div></div>');
}
类MyPanel扩展视图{
字符串标题;
我的小组(){
}
@凌驾
元素渲染()=>
html(“$title”);
}
这是结果截图,标题为蓝色虚线边框


是的,绝对位置是专门设计的。简而言之,它确保了Rikulo中的视图是100%可控的。有关其背后理念的更多信息,请参阅和

与CSS不同,位置由应用程序(在Dart中)或使用(如线性布局和锚定布局)控制。当然,您也可以提供自己的布局

如果CSS布局是您想要的,您可以使用嵌入HTML片段

注意:MyPanel的HTML片段应该由CSS控制,因为只有视图(即您的示例中的MyPanel)是绝对定位的。由
render\uz()
生成的标记将不会被删除


在这种情况下,绝对位置会使事情复杂化。面板的子项必须位于标题之后和底部工具栏之前。我需要计算孩子们的位置吗?我计划的面板将有标题,底部有一个工具栏,就像一个SO窗口。因此,子对象的位置相对于标题,而工具栏相对于子对象。在这种情况下,面板是响应性的(所有尺寸都具有相同的外观),我不确定性能影响,但我认为浏览器可以更好地进行布局,因为应用程序不需要通过代码(两次布局,通过浏览器和应用程序)重新定位。您是否检查了示例:?这可能会有帮助。我认为浏览器提供了更出色的布局(尤其是CSS3),但与Rikulo关注的桌面或移动用户界面相比,它的可控性较差。如果CSS是您所需要的,那么您可以使用TextView和/或--一个Bootstrap端口,它真正展示了CSS的优点。非常感谢,我将检查视口示例和Bootjack