




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第AndroidStudio生成Flutter模板代碼技巧詳解目錄正文快捷輸入AS文件模板如何創建模板代碼模板示例如何使用模板
正文
在開發Flutter時,常常需要創建新的頁面或新的Widget,每次都重新手寫總是很麻煩,這篇文章介紹一些減少手寫樣板代碼的方式。
筆者使用的是AndroidStudio,所以這里的技巧都是在AS中使用的。
快捷輸入
AndroidStudio的Flutter插件提供了一些在代碼編輯區域的快捷輸入,根據這些輸入可以快速生成模板代碼。最常用的快捷輸入是stless和stful。
stless表示生成一個Stateless的Widget。
//|表示多行光標,可以輸入類名
class|extendsStatelessWidget{
const|({Keykey}):super(key:key);
@override
Widgetbuild(BuildContextcontext){
returnContainer();
stful表示生成一個Stateful的Widget。
//|表示多行光標,可以輸入類名
class|extendsStatefulWidget{
const|({Keykey}):super(key:key);
@override
_|StatecreateState()=_State();
class_|StateextendsState{
@override
Widgetbuild(BuildContextcontext){
returnContainer();
一個小缺點:不能自動生成import,需要額外手動importmaterial庫。
AS文件模板
AndroidStudio提供了強大的代碼和文件模板功能,我們可以使用它來創建Flutter的模板。
如何創建模板
在文件目錄處,右鍵選擇New,選擇EditFileTemplates...,會出現一個編輯模板的彈窗。
在彈窗中,點擊下圖紅框中的+號,就可以創建一個文件模板了,只需要將模板代碼輸入到右側的編輯區域即可。
代碼模板示例
StatelessWidget模板
#set($nameparts=$NAME.split("_"))
#set($namepart='')
#set($classname='')
#foreach($namepartin$nameparts)
#set($classname=$classname+$namepart.substring(0,1).toUpperCase()+$namepart.substring(1))
import'package:flutter/material.dart';
class$classnameextendsStatelessWidget{
//TODO:addstatevariables,methodsandconstructorparams
$classname();
@override
Widgetbuild(BuildContextcontext){
//TODO:addwidgetbuildmethod
returnnull;
StatefulWidget模板
#set($nameparts=$NAME.split("_"))
#set($namepart='')
#set($classname='')
#foreach($namepartin$nameparts)
#set($classname=$classname+$namepart.substring(0,1).toUpperCase()+$namepart.substring(1))
import'package:flutter/material.dart';
class$classnameextendsStatefulWidget{
@override
_${classname}StatecreateState()=new_${classname}State();
class_${classname}StateextendsState$classname{
//TODO:addstatevariablesandmethods
@override
Widgetbuild(BuildContextcontext){
//TODO:addwidgetbuildmethod
returnnull;
這里最值得注意的是import語句前的的一段代碼,它是把小寫下劃線格式的dart文件名,轉換成大駝峰格式的dart類名。比如hello_world_widget.dart就會變成HelloWorldWidget。
這樣就可以模仿著寫一個自己的模板了,比如筆者針對Stateless的Scaffold的頁面制作了一個模板:
#set($nameparts=$NAME.split("_"))
#set($namepart='')
#set($classname='')
#foreach($namepartin$nameparts)
#set($classname=$classname+$namepart.substring(0,1).toUpperCase()+$namepart.substring(1))
import'package:flutter/material.dart';
class$classnameextendsStatelessWidget{
const$classname({Keykey}):super(key:key);
@override
Widgetbuild(BuildContextcontext){
returnScaffold(
appBar:AppBar(
title:Text("$classname"),
body:Container(),
如何使用模板
在文件目錄處,右鍵選擇New,選擇自己創建的模板(如下圖),就會彈出一個彈窗,輸入dart文件名即可生成模板
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業保安合同協議書
- 吉他合同協議書
- 委托簽合同協議書
- 后勤合同協議書
- 備案合同金額協議書
- 特產買賣合同協議書
- 公寓樓合伙人合同協議書
- 購車合同協議書范文模板
- 承包協議書合同
- 買家協議書合同
- JJF(通信) 068-2023 雷達回波模擬器校準規范(報批稿)
- 《公路橋梁施工監控技術規程》(JTGT3650-01-2022)
- 上交所金橋數據中心用戶手冊
- 胸腔積液考試試題
- 沖壓模具成本分析表(模板)
- 2024雇主品牌調研中國大陸區報告-任仕達-202406
- 醫科大學醫院安保服務采購項目保安服務實施方案
- 2024年連云港專業技術人員繼續教育《飲食、運動和健康的關系》92分(試卷)
- MOOC 寄生蟲病與食品安全-華中科技大學 中國大學慕課答案
- MOOC 化學與社會-大連理工大學 中國大學慕課答案
- JJG 692-2010無創自動測量血壓計
評論
0/150
提交評論