คำถามติดแท็ก dart

Dart เป็นภาษาการเขียนโปรแกรมแบบอิงตามคลาส (& อย่างยิ่ง) สำหรับการสร้างเว็บและแอปพลิเคชั่นมือถือ โผเข้ากับจาวาสคริปต์ที่ทันสมัยเพื่อใช้งานในเบราว์เซอร์และรวบรวมเป็นรหัสเนทีฟเพื่อให้ทำงานบนแพลตฟอร์มมือถือเช่น Android และ iOS โผยังทำงานบนบรรทัดคำสั่งสำหรับการเขียนสคริปต์และแอปฝั่งเซิร์ฟเวอร์

6
ประเภท 'รายการ <dynamic>' ไม่ใช่ประเภทย่อยของประเภท 'รายการ <วิดเจ็ต>'
ฉันมีข้อมูลโค้ดที่คัดลอกมาจากตัวอย่าง Firestore: Widget _buildBody(BuildContext context) { return new StreamBuilder( stream: _getEventStream(), builder: (context, snapshot) { if (!snapshot.hasData) return new Text('Loading...'); return new ListView( children: snapshot.data.documents.map((document) { return new ListTile( title: new Text(document['name']), subtitle: new Text("Class"), ); }).toList(), ); }, ); } แต่ฉันได้รับข้อผิดพลาดนี้ type 'List&lt;dynamic&gt;' is not a subtype of type …

19
วิธีทำให้แอปพลิเคชันตอบสนองตามขนาดหน้าจอที่แตกต่างกัน
ฉันกำลังประสบปัญหาในการทำให้มันตอบสนองตามขนาดหน้าจอต่างๆ จะทำให้ตอบสนองได้อย่างไร? @override Widget build(BuildContext context) { return new Container( decoration: new BoxDecoration(color: Colors.white), child: new Stack( children: [ new Padding( padding: const EdgeInsets.only(bottom: 350.0), child: new GradientAppBar(" "), ), new Positioned( bottom: 150.0, height: 260.0, left: 10.0, right: 10.0, child: new Padding( padding: new EdgeInsets.all(10.0), child: new Card( child: …
94 dart  flutter 

12
วิธีการทำงานกับตัวบ่งชี้ความคืบหน้าในการกระพือปีก?
ฉันเป็นมือใหม่และอยากรู้ว่าอะไรคือวิธีที่ดีกว่าในการเพิ่มCircularProgressIndicatorเค้าโครงของฉัน ตัวอย่างเช่นมุมมองการเข้าสู่ระบบของฉัน มุมมองนี้มีชื่อผู้ใช้รหัสผ่านและปุ่มล็อกอิน ฉันไม่ต้องการสร้างเลย์เอาต์การวางซ้อน (ด้วยOpacity) ที่เมื่อโหลดแสดงตัวบ่งชี้ความคืบหน้าเหมือนที่ฉันใช้ใน NativeScript แต่ฉันไม่ค่อยสับสนกับวิธีการทำและเช่นกันถ้าเป็นวิธีที่ดีกว่า บน NativeScript ฉันเพิ่ม IndicatorActivity ในเค้าโครงหลักและตั้งค่าไม่ว่างเป็นจริงหรือเท็จดังนั้นจึงซ้อนทับส่วนประกอบมุมมองทั้งหมดเมื่อกำลังโหลด แก้ไข: ฉันสามารถบรรลุผลลัพธ์นี้: void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return new MaterialApp( title: 'Flutter Demo', theme: new ThemeData( primarySwatch: …
93 dart  flutter 

7
การแสดงผล SVG แบบกระพือปีก
ฉันพยายามเพิ่มรูปภาพที่มีแหล่ง SVG ลงในแอปพลิเคชัน Flutter ของฉัน new AssetImage("assets/images/candle.svg")) แต่ฉันไม่ได้รับความคิดเห็นใด ๆ ฉันจะแสดงภาพ SVG ใน Flutter ได้อย่างไร
92 dart  flutter 


10
รัศมีมุมกระพือกับพื้นหลังโปร่งใส
ด้านล่างนี้คือรหัสของฉันซึ่งฉันคาดว่าจะแสดงคอนเทนเนอร์แบบกลมที่มีพื้นหลังโปร่งใส return new Container( //padding: const EdgeInsets.all(32.0), height: 800.0, //color: const Color(0xffDC1C17), //color: const Color(0xffFFAB91), decoration: new BoxDecoration( color: Colors.green, //new Color.fromRGBO(255, 0, 0, 0.0), borderRadius: new BorderRadius.only( topLeft: const Radius.circular(40.0), topRight: const Radius.circular(40.0)) ), child: new Container( decoration: new BoxDecoration( color: Colors.blue, borderRadius: new BorderRadius.only( topLeft: const Radius.circular(40.0), topRight: …
90 dart  flutter 

1
Nullability ใน Dart คืออะไร (ไม่ใช่โมฆะโดยค่าเริ่มต้น)?
ฉันเคยได้ยินเกี่ยวกับคุณลักษณะความปลอดภัยภาษาใหม่ของ Dart null ซึ่งขณะนี้เป็น " การทดสอบที่ไม่เป็นโมฆะ" มันควรจะแนะนำไม่ใช่ nullableโดยค่าเริ่มต้น ข้อกำหนดคุณลักษณะที่สามารถพบได้ที่นี่และภาษาที่ปัญหา GitHub ที่นี่ มันทำงานอย่างไรและฉันจะลองได้ที่ไหน?
27 flutter  dart 

1
inheritFromWidgetOfExactType จะเลิกใช้ขึ้นอยู่กับOnInheritedWidgetOfExactTypeแทน
ตั้งแต่การปล่อย Flutter 1.12 รหัสของฉันต่อไปนี้: static MyInheritedWidget of(BuildContext context) { return context.inheritFromWidgetOfExactType(MyInheritedWidget) as MyInheritedWidget; } เตือนด้วยสิ่งต่อไปนี้: 'inheritFromWidgetOfExactType' เลิกใช้แล้วและไม่ควรใช้ ใช้ dependOnInheritedWidgetOfExactType แทน คุณลักษณะนี้เลิกใช้หลังจาก v1.12.1 .. ลองแทนที่การใช้สมาชิกที่เลิกใช้แล้วด้วยการแทนที่ แต่เมื่อฉันพยายามแทนที่มันไม่ทำงาน: static MyInheritedWidget of(BuildContext context) { return context.dependOnInheritedWidgetOfExactType(MyInheritedWidget) as MyInheritedWidget; } มีคนรู้วิธีที่จะทำ? ขอบคุณ!
23 flutter  dart 

3
Flutter - วิธีลดขนาดแอพในอุปกรณ์
ขนาดดาวน์โหลดของแอปของฉันใน Google PlayStore มีขนาดประมาณ23 MB : แต่ทำไมหลังจากติดตั้งแล้วขนาดของแอปในดิสก์จะเพิ่มขึ้นอย่างมากถึง83 MB : ความคิดใด ๆ ว่าทำไมสิ่งนี้ถึงเกิดขึ้นเพราะ: 1) ไฟล์สินทรัพย์ของ Flutter (รูปภาพเสียงและแบบอักษร) ในโครงการขนาดประมาณ11 MB 2) ขนาดของ Flutter Source Code (.dart) บนดิสก์เพียง1.4 MB 3) ทรัพยากร / ไอคอน Android ดั้งเดิม (Res) ประมาณ800 KBเท่านั้น เกี่ยวกับปลั๊กอินของ flutter ฉันใช้ด้านล่าง: dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter angles: ^1.0.1 app_settings: ^1.0.5 archive: …
17 android  gradle  flutter  dart  apk 

3
วิธีการเรียกใช้ตัวสร้างรหัสที่ด้านบนของตัวสร้างรหัสอื่นได้อย่างไร
การใช้source_genสแต็กเพื่อสร้างตัวสร้างรหัสฉันจะสร้างตัวสร้างที่สร้างรหัสที่จะเป็นอินพุตของตัวสร้างอื่น (โดยเฉพาะjson_serializable) ได้อย่างไร ตัวอย่างเช่นพิจารณา: class Example extends Generator { @override String generate(LibraryReader library, BuildStep buildStep) { return ''' @JsonSerializable(nullable: false) class Person { final String firstName; final String lastName; final DateTime dateOfBirth; Person({this.firstName, this.lastName, this.dateOfBirth}); factory Person.fromJson(Map&lt;String, dynamic&gt; json) =&gt; _PersonFromJson(json); Map&lt;String, dynamic&gt; toJson() =&gt; _PersonToJson(this); } '''; } } …
14 flutter  dart 

5
กระพือ - จำเป็นต้องมีการควบคุมการไหลของคอลเลกชัน แต่พวกเขา?
หลังจากอัปเกรดกระพือ (ทั้งเวอร์ชันต้นแบบและเวอร์ชันเสถียร) และโผฉันได้รับข้อผิดพลาดเกี่ยวกับการทดสอบ - โฟลว์ควบคุมคอลเลกชันไม่ได้เปิดใช้งานสำหรับลูปต่างๆที่ฉันใช้ในโครงการ ฉันพยายามแก้ไขโดยใช้รายการนี้แต่นั่นทำให้สิ่งที่แปลกประหลาด ดังนั้นตอนนี้ฉันมีข้อผิดพลาดด้านล่างที่บอกฉันว่าฉันต้องการการเปิดใช้งานการควบคุมการไหลของคอลเลกชันที่จะเปิดใช้งานในขณะที่บอกฉันว่ามันไม่จำเป็นต้องใช้อีกต่อไป ข้อผิดพลาดนี้เกิดขึ้นสำหรับทุกวงที่ฉันใช้ นี่คือเวอร์ชั่นของฉัน - Stable: Flutter 1.12.13+hotfix.5 • channel stable • https://github.com/flutter/flutter.git Framework • revision 27321ebbad (13 days ago) • 2019-12-10 18:15:01 -0800 Engine • revision 2994f7e1e6 Tools • Dart 2.7.0 Master: Flutter 1.13.6-pre.16 • channel master • https://github.com/flutter/flutter.git Framework • revision fcaf9c4070 (2 …
14 flutter  dart  upgrade 

5
สังเกตได้เลิกใน rxdart 0.23.1
ฉันเพิ่งอัพเกรดเป็นrxdart 0.23.1และทันใดนั้นฉันก็พบข้อผิดพลาดไม่ว่าฉันจะใช้Observableคลาสที่ไหน ฉันได้อ่านเกี่ยวกับการเปลี่ยนแปลงการแตกหักในเอกสารประกอบและได้ระบุให้ใช้rxdart_codemodแพ็คเกจที่ฉันได้รวมไว้ในpubspec.yamlไฟล์ของฉันและการรันคำสั่งต่อไปนี้จะpub global activate rxdart_codemodทำให้เกิด-bash: pub: command not foundข้อผิดพลาด ฉันติดตั้งflutterอย่างถูกต้องและflutter doctorดูเหมือนว่าจะทำงานได้ดี มีคลาสอื่นที่แทนที่Observableไม่พบสิ่งใดในเอกสาร แน่นอนฉันสามารถแทนที่Observableด้วยStreamจากภาษา Dart แต่สนใจจริงๆที่จะรู้ว่าrxdartแพกเกจใช้เส้นทางใดตามที่มันระบุว่ามันเป็นการใช้ประโยชน์จาก. การdart extensionใช้วิธีการแบบcombineLatest2นี้เป็นไปไม่ได้ด้วยDart's Stream ดังนั้นมันจะไม่เป็นทางเลือกที่ดีสำหรับการทดแทน
14 flutter  dart  rxdart 

7
Flutter - สร้างสำหรับ iOS แต่เฟรมเวิร์กที่เชื่อมโยงและฝังตัว 'App.framework' สร้างขึ้นสำหรับ iOS Simulator
หลังจากอัปเดตเป็น Catalina 10.15.4 beta ด้วย Xcode 13.4 beta ซึ่งปรับปรุง Simulator เป็น 13.4 (921.4) แอปพลิเคชั่นรวบรวมและทำงานอย่างถูกต้องบนอุปกรณ์ต่อพ่วงทางกายภาพ แต่ไม่มีอุปกรณ์จำลองใดที่สามารถผ่านขั้นตอนนี้ได้ ฉันได้รับข้อผิดพลาด สิ่งปลูกสร้างสำหรับ iOS แต่เฟรมเวิร์กที่เชื่อมโยงและฝังตัว 'App.framework' สร้างขึ้นสำหรับ iOS Simulator หรือ สิ่งปลูกสร้างสำหรับ iOS Simulator แต่เฟรมเวิร์กที่เชื่อมโยงและฝังตัว 'App.framework' สร้างขึ้นสำหรับ iOS ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

3
วิธีอัปเดตค่าสำหรับ TextField โดยใช้ StreamBuilder
ฉันมีtextfieldและฉันใช้sqfliteฐานข้อมูลในแอปของฉัน sqfliteมีค่าที่ฉันต้องการจะกำหนดให้กับฉันtextfield นี่คือtextfieldรหัสของฉัน StreamBuilder&lt;String&gt;( stream: patientHealthFormBloc.doctorName, builder: (context, snapshot) { return TextFormField( initialValue: patientHealthFormBloc.doctorNameValue, onChanged: (value) { patientHealthFormBloc.doctorNameChanged(value); }, ... ตอนนี้ในinitstateวิธีการเรียนของฉันฉันกำลังดึงค่าจากฐานข้อมูล มันเป็นการดำเนินการแบบอะซิงโครนัสดังนั้นจึงต้องใช้เวลา คลาสกลุ่มของฉันมีรหัสดังนี้ Function(String) get doctorNameChanged =&gt; _doctorName.sink.add; ดังนั้นทันทีที่ฉันได้รับค่าจากฐานข้อมูลฉันเรียกดังต่อไปนี้ doctorNameChanged("valuefromdatabase"); แต่ฉันไม่เห็นคุณค่าในฟิลด์ข้อความของฉัน นอกจากนี้ยังมีค่าอยู่ในฐานข้อมูลของฉัน มันเป็นไปได้ที่จะปรับปรุงค่าโดยไม่ต้องใช้หรือTextEditingController setStateฉัน ma พยายามที่จะหลีกเลี่ยงการเหล่านั้นเป็นชั้นเรียนของฉันจะแบ่งออกเป็นจำนวนมาก chuncks และวิธีการที่ซับซ้อนเกินไปที่จะใช้ใด ๆ ข้างต้นที่ผมได้ลองใช้วิธีการเดียวกันกับRadioButtonและCheckBoxและพวกเขาดูเหมือนจะอัปเดตอย่างถูกต้อง ค่าจะถูกอัพเดต _doctorName.stream.valueซึ่งมีอยู่ในฐานข้อมูล แต่textfieldไม่แสดงข้อมูลใด ๆ นอกจากนี้ฉันพยายามเปลี่ยนสีของtextfieldดังนั้นจึงไม่มีปัญหาเช่นเดียวกับที่ฉันสามารถดูสิ่งที่ฉันพิมพ์ ฉันได้ทำการสาธิตแอพเล็ก ๆhttps://github.com/PritishSawant/demo/tree/master/lib แทนที่จะใช้sqfliteฉันกำลังใช้shared preferencesแต่ปัญหายังคงมีอยู่

1
เมื่อใดจึงควรใช้ Provider.of <X> vs. Consumer <X> ใน Flutter
ฉันยังคงตัดหัวของฉันรอบเทคนิครัฐจัดการในกระพือและกำลังบิตสับสนเกี่ยวกับเวลาและเหตุผลที่จะใช้กับProvider.of&lt;X&gt; Consumer&lt;X&gt;ฉันเข้าใจ (ฉันคิดว่า) จากเอกสารที่เมื่อเลือกระหว่างสองสิ่งนี้คุณจะใช้ Provider.of เมื่อเราต้องการเข้าถึงข้อมูล แต่คุณไม่จำเป็นต้องเปลี่ยน UI ดังนั้นต่อไปนี้ (นำมาจากเอกสาร) จะสามารถเข้าถึงข้อมูลและอัปเดต UI ในกิจกรรมใหม่: return HumongousWidget( // ... child: AnotherMonstrousWidget(// &lt;- This widget will rebuild on new data events // ... child: Consumer&lt;CartModel&gt;( builder: (context, cart, child) { return Text('Total price: ${cart.totalPrice}'); }, ), ), ); ในขณะที่เราต้องการเพียงข้อมูลที่ไม่ต้องการสร้างใหม่ด้วย UI เราจะใช้Provider.of&lt;X&gt;กับlistenพารามิเตอร์ที่ตั้งค่าfalseดังต่อไปนี้: Provider.of&lt;CartModel&gt;(context, listen: …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.