最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Java的方式模擬Flutter的Widget實現(xiàn)多層括號嵌套

 更新時間:2019年07月24日 10:19:16   作者:AWeiLoveAndroid  
這篇文章主要介紹了使用Java的方式模擬Flutter的Widget的實現(xiàn)多層括號嵌套問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

我已經(jīng)研究Flutter很長時間了。我就想既然Flutter用的Dart語言,而且括號又是嵌套多層,很多人都表示不是很理解,也不是很喜歡那么多層括號嵌套。其實完全不用擔(dān)心,既然選擇了它,就要接受它,當(dāng)然是選擇原諒它。廢話少說,其實Java也是可以實現(xiàn)類似的語法的,下面帶領(lǐng)大家作死的嘗試一下使用Java模擬Flutter的Widget,歡迎各類開發(fā)人員前來觀戰(zhàn)。

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 ,如下所示:

我們直接跳過細節(jié)了,這里寫的都是核心點。

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
                      )
                  )
              )
          )
      );
    }
  }

OK,到此為止,就用Java語言實現(xiàn)了Flutter里面的多個括號嵌套的類似場景,是不是很相似?其實還是那就話,語言都是想通的,Java也好,Dart也好,都是面向?qū)ο蟮恼Z言,掌握面向?qū)ο缶幊趟枷牒荜P(guān)鍵。哪怕以后換成了其它的面向?qū)ο蟮恼Z言,只要掌握了面向?qū)ο缶幊趟枷?,同樣也可以快速上手開發(fā)。

總結(jié)

以上所述是小編給大家介紹的使用Java的方式模擬Flutter的Widget實現(xiàn)多層括號嵌套,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • java實現(xiàn)秒表功能

    java實現(xiàn)秒表功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)秒表功能,利用javax.swing.Timer類設(shè)計實現(xiàn)秒表應(yīng)用程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 淺談Java中的atomic包實現(xiàn)原理及應(yīng)用

    淺談Java中的atomic包實現(xiàn)原理及應(yīng)用

    這篇文章主要介紹了淺談Java中的atomic包實現(xiàn)原理及應(yīng)用,涉及Atomic在硬件上的支持,Atomic包簡介及源碼分析等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • HelloSpringMVC注解版實現(xiàn)步驟解析

    HelloSpringMVC注解版實現(xiàn)步驟解析

    這篇文章主要介紹了HelloSpringMVC注解版實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • JavaWeb實戰(zhàn)之用Servlet+JDBC實現(xiàn)用戶登錄與注冊

    JavaWeb實戰(zhàn)之用Servlet+JDBC實現(xiàn)用戶登錄與注冊

    這篇文章主要介紹了JavaWeb實戰(zhàn)之用Servlet+JDBC實現(xiàn)用戶登錄與注冊,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-04-04
  • 重新啟動IDEA時maven項目SSM框架文件變色所有@注解失效

    重新啟動IDEA時maven項目SSM框架文件變色所有@注解失效

    這篇文章主要介紹了重新啟動IDEA時maven項目SSM框架文件變色所有@注解失效,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • SpringBoot如何監(jiān)控Redis中某個Key的變化(自定義監(jiān)聽器)

    SpringBoot如何監(jiān)控Redis中某個Key的變化(自定義監(jiān)聽器)

    這篇文章主要介紹了SpringBoot如何監(jiān)控Redis中某個Key的變化(自定義監(jiān)聽器),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 關(guān)于Spring項目對JDBC的支持與基本使用詳解

    關(guān)于Spring項目對JDBC的支持與基本使用詳解

    這段時間一直在觀看Spring框架,所以下面這篇文章主要給大家介紹了關(guān)于Spring項目對JDBC的支持與基本使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • java?http請求設(shè)置代理Proxy的兩種常見方法

    java?http請求設(shè)置代理Proxy的兩種常見方法

    代理是一種常見的設(shè)計模式,其目的就是為其他對象提供一個代理以控制對某個對象的訪問,這篇文章主要給大家介紹了關(guān)于java?http請求設(shè)置代理Proxy的兩種常見方法,需要的朋友可以參考下
    2023-11-11
  • 設(shè)計模式之原型模式_動力節(jié)點Java學(xué)院整理

    設(shè)計模式之原型模式_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了設(shè)計模式之原型模式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java實現(xiàn)合并多個升序鏈表

    Java實現(xiàn)合并多個升序鏈表

    本文主要介紹了Java實現(xiàn)合并多個升序鏈表,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論

陇南市| 射洪县| 吕梁市| 体育| 河曲县| 邢台市| 苗栗市| 长阳| 肇源县| 陆丰市| 墨玉县| 榆中县| 巧家县| 嘉定区| 班戈县| 西华县| 竹北市| 余姚市| 盐边县| 元江| 太康县| 锡林郭勒盟| 新乡市| 禹州市| 泉州市| 彭阳县| 板桥市| 五华县| 延津县| 武夷山市| 遵义县| 南岸区| 内黄县| 桃园县| 肇源县| 繁昌县| 岐山县| 和林格尔县| 贵德县| 襄汾县| 平陆县|