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

Android Studio生成 Flutter 模板代碼技巧詳解

 更新時(shí)間:2022年10月11日 09:18:53   作者:滄海一樹  
這篇文章主要為大家介紹了Android Studio生成 Flutter 模板代碼技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

在開發(fā) Flutter 時(shí),常常需要?jiǎng)?chuàng)建新的頁面或新的 Widget,每次都重新手寫總是很麻煩,這篇文章介紹一些減少手寫樣板代碼的方式。

筆者使用的是 Android Studio,所以這里的技巧都是在 AS 中使用的。

快捷輸入

Android Studio 的 Flutter 插件提供了一些在代碼編輯區(qū)域的快捷輸入,根據(jù)這些輸入可以快速生成模板代碼。最常用的快捷輸入是 stlessstful。

stless 表示生成一個(gè) Stateless 的 Widget。

// | 表示多行光標(biāo),可以輸入類名
class | extends StatelessWidget {
  const |({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Container();
  }
}

stful 表示生成一個(gè) Stateful 的 Widget。

// | 表示多行光標(biāo),可以輸入類名
class | extends StatefulWidget {
  const |({Key? key}) : super(key: key);
  @override
  _|State createState() => _State();
}
class _|State extends State<> {
  @override
  Widget build(BuildContext context) {
    return Container();
  }
}

一個(gè)小缺點(diǎn):不能自動(dòng)生成 import,需要額外手動(dòng) import material 庫。

AS 文件模板

Android Studio 提供了強(qiáng)大的代碼和文件模板功能,我們可以使用它來創(chuàng)建 Flutter 的模板。

如何創(chuàng)建模板

在文件目錄處,右鍵選擇 New,選擇 Edit File Templates...,會出現(xiàn)一個(gè)編輯模板的彈窗。

在彈窗中,點(diǎn)擊下圖紅框中的 + 號,就可以創(chuàng)建一個(gè)文件模板了,只需要將模板代碼輸入到右側(cè)的編輯區(qū)域即可。

代碼模板示例

StatelessWidget 模板

#set( $nameparts = $NAME.split("_"))
#set( $namepart = '')
#set( $classname = '')
#foreach( $namepart in $nameparts )
    #set( $classname = $classname + $namepart.substring(0, 1).toUpperCase() + $namepart.substring(1))
#end
import 'package:flutter/material.dart';
class $classname extends StatelessWidget {
    // TODO: add state variables, methods and constructor params
    $classname();
    @override
    Widget build(BuildContext context) {
        // TODO: add widget build method
        return null;
    }
}

StatefulWidget 模板

#set( $nameparts = $NAME.split("_"))
#set( $namepart = '')
#set( $classname = '')
#foreach( $namepart in $nameparts )
    #set( $classname = $classname + $namepart.substring(0, 1).toUpperCase() + $namepart.substring(1))
#end
import 'package:flutter/material.dart';
class $classname extends StatefulWidget {
    @override
    _${classname}State createState() => new _${classname}State();
}
class _${classname}State extends State<$classname> {
    // TODO: add state variables and methods
    @override
    Widget build(BuildContext context) {
        // TODO: add widget build method
        return null;
    }
}

這里最值得注意的是 import 語句前的的一段代碼,它是把小寫下劃線格式的 dart 文件名,轉(zhuǎn)換成大駝峰格式的 dart 類名。比如 hello_world_widget.dart 就會變成 HelloWorldWidget

這樣就可以模仿著寫一個(gè)自己的模板了,比如筆者針對 Stateless 的 Scaffold 的頁面制作了一個(gè)模板:

#set( $nameparts = $NAME.split("_"))
#set( $namepart = '')
#set( $classname = '')
#foreach( $namepart in $nameparts )
    #set( $classname = $classname + $namepart.substring(0, 1).toUpperCase() + $namepart.substring(1))
#end
import 'package:flutter/material.dart';
class $classname extends StatelessWidget {
  const $classname({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("$classname"),
      ),
      body: Container(),
    );
  }
}

如何使用模板

在文件目錄處,右鍵選擇 New,選擇自己創(chuàng)建的模板(如下圖),就會彈出一個(gè)彈窗,輸入 dart 文件名即可生成模板代碼文件。

參考文檔

How to make templates in Android Studio

以上就是Android Studio生成 Flutter 模板代碼技巧詳解的詳細(xì)內(nèi)容,更多關(guān)于Android Studio生成Flutter模板的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺析Android中g(shù)etWidth()和getMeasuredWidth()的區(qū)別

    淺析Android中g(shù)etWidth()和getMeasuredWidth()的區(qū)別

    這篇文章主要介紹了淺析Android中g(shù)etWidth()和getMeasuredWidth()的區(qū)別 ,getMeasuredWidth()獲取的是view原始的大小,getWidth()獲取的是這個(gè)view最終顯示的大小,具體區(qū)別介紹大家參考下本文
    2018-04-04
  • Android仿微信聊天圖片的放大縮小功能

    Android仿微信聊天圖片的放大縮小功能

    本文介紹了如何實(shí)現(xiàn)Android仿微信聊天圖片的放大縮小效果,通過修改Android官方代碼,實(shí)現(xiàn)點(diǎn)擊圖片放大,再次點(diǎn)擊縮小回原位的功能,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • 利用Android實(shí)現(xiàn)一種點(diǎn)贊動(dòng)畫效果的全過程

    利用Android實(shí)現(xiàn)一種點(diǎn)贊動(dòng)畫效果的全過程

    最近做項(xiàng)目需要實(shí)現(xiàn)點(diǎn)贊動(dòng)畫,下面這篇文章主要給大家介紹了關(guān)于利用Android實(shí)現(xiàn)一種點(diǎn)贊動(dòng)畫效果的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Android 勇闖高階性能優(yōu)化之啟動(dòng)優(yōu)化篇

    Android 勇闖高階性能優(yōu)化之啟動(dòng)優(yōu)化篇

    在移動(dòng)端程序中,用戶希望的是應(yīng)用能夠快速打開。啟動(dòng)時(shí)間過長的應(yīng)用不能滿足這個(gè)期望,并且可能會令用戶失望。輕則鄙視你,重則直接卸載你的應(yīng)用
    2021-10-10
  • Android超詳細(xì)講解組件ScrollView的使用

    Android超詳細(xì)講解組件ScrollView的使用

    本節(jié)帶來的是Android基本UI控件中的第十個(gè):ScrollView(滾動(dòng)條),或者我們應(yīng)該叫他?豎直滾動(dòng)條,對應(yīng)的另外一個(gè)水平方向上的滾動(dòng)條:HorizontalScrollView,先讓我們來了解ScrollView
    2022-03-03
  • Android編程實(shí)現(xiàn)捕獲程序異常退出時(shí)的錯(cuò)誤log信息功能詳解

    Android編程實(shí)現(xiàn)捕獲程序異常退出時(shí)的錯(cuò)誤log信息功能詳解

    這篇文章主要介紹了Android編程實(shí)現(xiàn)捕獲程序異常退出時(shí)的錯(cuò)誤log信息功能,結(jié)合實(shí)例形式分析了Android異常信息捕獲與日志操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-08-08
  • Android 解決TextView排版參差不齊的問題

    Android 解決TextView排版參差不齊的問題

    這篇文章主要介紹了Android 解決TextView排版參差不齊的問題的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Android 情景模式的設(shè)置代碼

    Android 情景模式的設(shè)置代碼

    Android 情景模式的設(shè)置代碼,需要的朋友可以參考一下
    2013-05-05
  • Android中WebView的一些簡單用法

    Android中WebView的一些簡單用法

    這篇文章主要介紹了Android中WebView的一些簡單用法,WebView非常簡單,Android已經(jīng)封裝的非常完善,寫個(gè)小例子覆蓋其間常用的幾個(gè)方法;
    2016-08-08
  • gradle配置國內(nèi)鏡像的實(shí)現(xiàn)

    gradle配置國內(nèi)鏡像的實(shí)現(xiàn)

    這篇文章主要介紹了gradle配置國內(nèi)鏡像的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

太仆寺旗| 武义县| 连山| 射阳县| 安西县| 长乐市| 嘉祥县| 黄龙县| 彭泽县| 思南县| 怀来县| 新丰县| 黄陵县| 宝坻区| 通州市| 桃源县| 靖边县| 香港 | 兴山县| 图木舒克市| 凤翔县| 延边| 米脂县| 洪江市| 南丹县| 三穗县| 凤山县| 北安市| 健康| 珲春市| 垣曲县| 松桃| 道孚县| 藁城市| 泰宁县| 镇安县| 余江县| 阿克陶县| 竹北市| 茂名市| 海城市|