Flutter เปลี่ยนกระบวนการพัฒนาแอพ สร้างทดสอบและปรับใช้มือถือที่สวยงามเว็บเดสก์ท็อปและแอพที่ฝังตัวจาก codebase เดียว
เปิดจานคำสั่ง -
Shift+CMD+P บน Mac OS
Shift+Ctrl+P บน Windows
พิมพ์โครงการใหม่ Flutter
เลือกโปรเจ็กต์ใหม่ Flutter
เลือกแอปพลิเคชัน
เลือกเส้นทางโครงการที่คุณต้องการวางโครงการของคุณ
ป้อนชื่อโครงการของคุณ
กด Enter
คัดลอกวางจากเอกสารอย่างเป็นทางการติดตาม URL? https://codelabs.developers.google.com/codelabs/flutter-codelab-first#2
ElevatedButton (onpressed: () {
พิมพ์ ('กดปุ่มถัดไป'); }, เด็ก: ข้อความ ('ถัดไป'),),),
เพียงแค่บอกให้ใช้แอป Flutter ที่กำหนดไว้ในฟังก์ชั่น myfunction () เช่น เป็นโมฆะ Main () {runapp (myfunction ()); -
อดีต. 1. StatetelessWidget 2. statefulwidget
Class MyApp () { #จุดเริ่มต้นของแอปของคุณ
-
MyAppState # กำหนดสถานะของแอปของคุณ
MyAppState # กำหนดข้อมูลที่แอปต้องใช้งาน ตอนนี้มันมีตัวแปรเดียวกับคู่คำสุ่ม - - ปัจจุบัน คุณจะเพิ่มในภายหลัง
ผู้เปลี่ยนแปลง
วิธีจัดการสถานะแอพใน Flutter วิธี Maney Powefull นั้นเป็นสิ่งที่น่าสนใจ
ระดับรัฐขยาย Changenotifier ซึ่งหมายความว่าสามารถแจ้งผู้อื่นเกี่ยวกับการเปลี่ยนแปลงของตัวเอง
วิดเจ็ตทุกตัวกำหนดวิธีการสร้าง () ที่เรียกว่าโดยอัตโนมัติทุกครั้งที่สถานการณ์ของวิดเจ็ตเปลี่ยนแปลงเพื่อให้วิดเจ็ตทันสมัยอยู่เสมอ
MyHomePage ติดตามการเปลี่ยนแปลงสถานะปัจจุบันของแอปโดยใช้วิธีการดู
Scaffold (): # มันเป็นวิดเจ็ตที่เป็นประโยชน์และพบได้ในแอพพลิเคชั่น Flutter ในโลกแห่งความเป็นจริงส่วนใหญ่
คอลัมน์ (): # เป็นหนึ่งในวิดเจ็ตเลย์เอาต์พื้นฐานที่สุดใน Flutter
WordPair # มีผู้ที่มีประโยชน์หลายรายเช่น Aspascalcase หรือ Assnakecase ที่นี่เราใช้ Aslowercase
https://docs.flutter.dev/development/tools/Formatting
รหัสกระพือมักจะเกี่ยวข้องกับการสร้างโครงสร้างข้อมูลรูปต้นไม้ที่ค่อนข้างลึกเช่นในวิธีการสร้าง เพื่อให้ได้การจัดรูปแบบอัตโนมัติที่ดีเราขอแนะนำให้คุณใช้เครื่องหมายจุลภาคที่เป็นตัวเลือก แนวทางสำหรับการเพิ่มเครื่องหมายจุลภาคต่อท้ายนั้นง่าย: เพิ่มเครื่องหมายจุลภาคต่อท้ายเสมอในตอนท้ายของรายการพารามิเตอร์ในฟังก์ชั่นวิธีการและตัวสร้างที่คุณสนใจเกี่ยวกับการจัดรูปแบบที่คุณสร้างขึ้น สิ่งนี้จะช่วยให้ตัวสร้างอัตโนมัติสามารถแทรกการแบ่งบรรทัดที่เหมาะสมสำหรับรหัสสไตล์กระพือ
// หมายเหตุ: Flutter ใช้องค์ประกอบมากกว่าการสืบทอดทุกครั้งที่ทำได้ ที่นี่แทนที่จะเป็นช่องว่างภายในเป็นคุณลักษณะของข้อความมันเป็นวิดเจ็ต!
// ด้วยวิธีนี้วิดเจ็ตสามารถมุ่งเน้นไปที่ความรับผิดชอบเดี่ยวของพวกเขาและคุณผู้พัฒนามีอิสระในการเขียน UI ของคุณ ตัวอย่างเช่นคุณสามารถใช้วิดเจ็ตพลาดิ้งกับแผ่นข้อความรูปภาพปุ่มวิดเจ็ตที่กำหนดเองของคุณเองหรือแอพทั้งหมด วิดเจ็ตไม่สนใจว่ามันจะห่ออะไร
LayoutBuilder Class 'สร้างทรีวิดเจ็ตที่สามารถขึ้นอยู่กับขนาดของวิดเจ็ตพ่อแม่'
Aspectratio ('วิดเจ็ตที่พยายามปรับขนาดเด็กให้เป็นอัตราส่วนเฉพาะ')
CustomsinglechildLayout ('วิดเจ็ตที่ปกป้องเค้าโครงของลูกเดี่ยวให้เป็นตัวแทน')
singlechildlayoutdelegate ('ซึ่งควบคุมเค้าโครงของเด็ก')
CustomMultichildLayout ('ซึ่งใช้ตัวแทนเพื่อวางตำแหน่งเด็กหลายคน')
FittedBox ('เครื่องชั่งและวางตำแหน่งลูกของมันภายในตัวเองตามพอดี')
fractionallysizedbox
layoutbuilder
MediaQuery
MediaQueryData
Orientationbuilder
จัดตำแหน่ง- จัดตำแหน่ง- เด็กภายในตัวเอง ต้องใช้ค่าสองเท่าระหว่าง -1 และ 1 สำหรับการจัดแนวแนวตั้งและแนวนอน
Aspectratio พยายามที่จะปรับขนาดเด็กให้เป็นอัตราส่วนเฉพาะ
ข้อ จำกัด ของบ็อกซ์กำหนดข้อ จำกัด ขนาดให้กับเด็กเสนอการควบคุมขนาดต่ำสุดหรือสูงสุด
CustomsingleChildLayout - ใช้ฟังก์ชั่นตัวแทนเพื่อจัดตำแหน่งเด็กคนเดียว ผู้แทนสามารถกำหนดข้อ จำกัด และการวางตำแหน่งของเค้าโครงสำหรับเด็ก
ขยายและยืดหยุ่น - อนุญาตให้ลูกของแถวหรือคอลัมน์หดตัวหรือเติบโตเพื่อเติมเต็มพื้นที่ที่มีอยู่
FractionallySizedBox - ขนาดลูกของมันเป็นเศษเสี้ยวของพื้นที่ว่าง
Layoutbuilder - สร้างวิดเจ็ตที่สามารถรีดกลับมาตามขนาดของผู้ปกครอง
SingleChildScrollView - เพิ่มการเลื่อนให้กับเด็กคนเดียว มักใช้กับแถวหรือคอลัมน์
คอลัมน์แถวและเฟล็ก - ปล่อยเด็กออกมาในแนวนอนหรือแนวตั้งเดียว ทั้งคอลัมน์และแถวขยายวิดเจ็ต Flex
CustomMultichildLayout - ใช้ฟังก์ชั่นตัวแทนเพื่อวางตำแหน่งเด็กหลายคนในระหว่างขั้นตอนเลย์เอาต์
การไหล - คล้ายกับ CustomMultichildlayout แต่มีประสิทธิภาพมากกว่าเพราะดำเนินการในระหว่างเฟสสีแทนที่จะเป็นเฟสเลย์เอาต์
ListView, GridView และ CustomscrollView - จัดทำรายการเด็กที่เลื่อนได้
สแต็ก - เลย์และตำแหน่งเด็กหลายคนเมื่อเทียบกับขอบของสแต็ค ฟังก์ชั่นคล้ายกับตำแหน่งที่กำหนดใน CSS
ตาราง - ใช้อัลกอริทึมเลย์เอาต์ตารางคลาสสิกสำหรับเด็ก ๆ รวมกันหลายแถวและคอลัมน์
Wrap - แสดงลูก ๆ ในแนวนอนหรือแนวตั้งที่หลากหลาย
แอนิเมชั่น 'บล็อกการสร้างหลักของระบบแอนิเมชั่นคือคลาสแอนิเมชัน ภาพเคลื่อนไหวแสดงถึงค่าของประเภทเฉพาะที่สามารถเปลี่ยนแปลงตลอดอายุการใช้งานของภาพเคลื่อนไหว วิดเจ็ตส่วนใหญ่ที่ทำงานอนิเมชั่นจะได้รับวัตถุแอนิเมชั่นเป็นพารามิเตอร์ซึ่งพวกเขาอ่านค่าปัจจุบันของภาพเคลื่อนไหวและที่พวกเขาฟังการเปลี่ยนแปลงค่านั้น '
AddListener 'เมื่อใดก็ตามที่ค่าของภาพเคลื่อนไหวเปลี่ยนไปภาพเคลื่อนไหวจะแจ้งให้ผู้ฟังทั้งหมดเพิ่มเข้ามาด้วย addListener โดยทั่วไปวัตถุสถานะที่รับฟังการโทรแบบแอนิเมชั่น setState อยู่ในการโทรกลับผู้ฟังเพื่อแจ้งระบบวิดเจ็ตว่าจำเป็นต้องสร้างใหม่ด้วยค่าใหม่ของภาพเคลื่อนไหว -
AnimatedWidget 'มีประโยชน์มากที่สุดสำหรับวิดเจ็ตภาพเคลื่อนไหวไร้สัญชาติ'
AnimatedBuilder 'มีประโยชน์สำหรับวิดเจ็ตที่ซับซ้อนมากขึ้นซึ่งต้องการรวมแอนิเมชั่นเป็นส่วนหนึ่งของฟังก์ชั่นการสร้างขนาดใหญ่'
แอนิเมชั่นของ AddstatusListener ยังมีแอนิเมชั่นสตาทัสซึ่งบ่งชี้ว่าภาพเคลื่อนไหวจะพัฒนาไปอย่างไรเมื่อเวลาผ่านไป -
AnimationController ''