如何使用Java的方式模拟Flutter的Widget实现多层括号嵌套
这篇文章给大家分享的是有关如何使用Java的方式模拟Flutter的Widget实现多层括号嵌套的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Flutter最重要的是 Widget ,首先我们来写一个类 Widget ,然后有一个 build 函数。如下所示:
Tips: (我是阿韦。我的公众号 Flutter 那些事 ,干货多多,欢迎关注。惦记我的资料,可以与我取得联系。有任何疑问,欢迎在本文后面留言回复。)
public class Widget { private BuildContext mContext; public Widget build(BuildContext context){ this.mContext = context; return this; } }
接着我们写一个重要的类 BuildContext ,如下所示:
我们直接跳过细节了,这里写的都是核心点。
public class BuildContext { public BuildContext(){ } }
接下来就是一个关键的类 StatelessWidget ,我们写一个 StatelessWidget 类继承自 Widget ,如下所示:
这里面我们不做任何的逻辑处理。只是先把这个类写出来。
public class StatelessWidget extends Widget{ @Override public Widget build(BuildContext context) { return super.build(context); } }
接下来,我们写写一个 Column 类继承自 StatelessWidget ,如下所示:
public class Column extends StatelessWidget { Widget[] childrens; int width; int height; public Column(int width, int height, Widget... children) { this.width = width; this.height = height; this.childrens = children; } @Override public Widget build(BuildContext context) { return super.build(context); } }
接下来,我们写写一个 Row 类继承自 StatelessWidget ,如下所示:
public class Row extends StatelessWidget { Widget[] childrens; int width; int height; public Row(int width, int height, Widget... children) { this.width = width; this.height = height; this.childrens = children; } @Override public Widget build(BuildContext context) { return super.build(context); } }
接下来,我们写写一个 Container 类继承自 StatelessWidget ,如下所示:
public class Container extends StatelessWidget { Widget[] childrens; int width; int height; public Container(int width, int height, Widget... children) { this.width = width; this.height = height; this.childrens = children; } @Override public Widget build(BuildContext context) { return super.build(context); } }
接下来,我们写写一个 Text 类继承自 StatelessWidget ,如下所示:
public class Text extends StatelessWidget { String text; float size; public Text(String text, float size) { this.text = text; this.size = size; } @Override public Widget build(BuildContext context) { return super.build(context); } }
接下来就是我们的main函数的处理了,精彩不容错过:
首先我们写一个 runApp 函数,参数为 Widget 。具体逻辑我们暂时不做处理。如下所示:
public class Main { public static void main(String[] args) { runApp(new Home()); } public static void runApp(Widget widget) { } }
接下来我们写一个类 Home 继承自 StatelessWidget ,如下所示:
public class Home extends StatelessWidget { @Override public Widget build(BuildContext context) { return new Column( 50, 30, new Column( 100, 50, new Row( 200, 100, new Text( "contents", 20 ) ) ), new Container( 100, 150, new Column( 200, 100, new Row( 50, 50, new Text( "contents2", 30 ) ) ) ) ); } }
感谢各位的阅读!关于“如何使用Java的方式模拟Flutter的Widget实现多层括号嵌套”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!