您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)如何使用Java的方式模擬Flutter的Widget實(shí)現(xiàn)多層括號嵌套的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Flutter最重要的是 Widget ,首先我們來寫一個類 Widget ,然后有一個 build 函數(shù)。如下所示:
Tips: (我是阿韋。我的公眾號 Flutter 那些事 ,干貨多多,歡迎關(guān)注。惦記我的資料,可以與我取得聯(lián)系。有任何疑問,歡迎在本文后面留言回復(fù)。)
public class Widget { private BuildContext mContext; public Widget build(BuildContext context){ this.mContext = context; return this; } }
接著我們寫一個重要的類 BuildContext ,如下所示:
我們直接跳過細(xì)節(jié)了,這里寫的都是核心點(diǎn)。
public class BuildContext { public BuildContext(){ } }
接下來就是一個關(guān)鍵的類 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函數(shù)的處理了,精彩不容錯過:
首先我們寫一個 runApp 函數(shù),參數(shù)為 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 ) ) ) ) ); } }
感謝各位的閱讀!關(guān)于“如何使用Java的方式模擬Flutter的Widget實(shí)現(xiàn)多層括號嵌套”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。