Bài đăng

Đang hiển thị bài đăng từ tháng 9 30, 2021

Flutter 2.7 - Stateless to Stateful

Hình ảnh
  StatelessWidget StatefulWidget Giải thích code ^^ từ Stateless sang Statefull: 1. Tạo class MyAppState extends State<MyApp> : chú ý coding conventions. 2. Override createState, return về class mới tạo. 3. setState(){} : báo hiệu dữ liệu thay đổi. Note: dấu _ trước các function,class, variable tương đương với private. Ko có => public

Flutter 2.6 - Button widgets | RaisedButton, Flat Button, Outline Button, ...

Hình ảnh
  1, RaisedButton vs ElevatedButton Kể từ Flutter 2 (phát hành vào tháng 3 năm 2021), RaisedButton không dùng nữa (deprecated) RaisedButton vẫn có thể sử dụng đc nhưng sẽ bị loại bỏ trong tương lai. RaisedButton sẽ đc thay thê bởi ElevatedButton.  ElevatedButton khác RaisedButton một chút về cách set style. Ngoài ra FlatButton đc thay thế bởi   TextButton OutlineButton  đc thay thế bởi  OutlinedButton Code: body: Center ( child: Column ( mainAxisAlignment: MainAxisAlignment. center , children: <Widget>[ RaisedButton ( child: Text ( 'Raised Button' ) , color: Colors. blue , textColor: Colors. white , onPressed: () { print( 'Raised Button' ) ; }) , FlatButton ( child: Text ( 'Flat Button' ) , textColor: Colors. blue , onPressed: () { print( 'Flat Button' ) ; }) , OutlineButton ( child: Text ( 'Out...

Flutter 2.5 - First App | Building a Widget Tree

Hình ảnh
 Hello word :D - Import thư viện material package (material.dart là 1 thư viện trong sdk flutter) - Như đã đề cập: main() là 1 hàm đặc biệt, dart sẽ tự động tìm class main.dart sau đó chạy hàm này đầu tiên. - runApp(); thực hiện các công việc hậu trường :v (lấy các widget mà develop draw để hiển thị lên màn hình) nó là function thư viện flutter cung cấp :D.  - build: chịu trách nhiệm return về 1 widget để func runApp 'take it' - Trong flutter họ có định nghĩa sẵn cho chúng ta vài cái widget để sài cho tiện Trong ví dụ là MaterialApp là widget kế thừa các kiến trúc theo chuẩn design marterial, Scaffold là widget bao chứa toàn bộ code chúng ta vào trong nó ( phủ đầy giao diện chúng ta). Nói thì hơi mông lung như 1 trò đùa 😄 => Bạn nào code HTML rồi thì cứ tưởng tượng cái thẻ marterial giống như là thẻ html có thẻ head rồi nhúng css của marterial vào, còn thẻ scaffold là như thẻ body của html vậy thôi. Trong 1 thẻ widget thì sẽ có các Thộc tính đi kèm, có thể các thuộc tính đ...

Flutter 2.4 - StatelessWidget & StatefulWidget

 1. StatelessWidget Đây là những widget không quan tâm đến việc thay đổi, tạo ra 1 lần duy nhất hoặc hiểu cách đơn giản hơn thì đây là widget chỉ nhận khởi tạo có sẵn rồi thực thi nó và không có thay đổi State. Ví dụ như widget Text, Center, MaterialApp, ... Cấu trúc của một StatelessWidget như sau: class MyWidget extends StatelessWidget { MyWidget ({ Key key, this .param,}) : super (key : key); String param; @override Widget build ( BuildContext context) { return Container ( child : Text ( 'Hello guys' ), ); } } Bạn có thể thấy, chúng ta có thể thêm vài tham số vào constructor. Tuy nhiên, hãy nhớ rằng những tham số này sẽ không thay đổi (immutable) ở những lần build sau. Lifecycle của StatelessWidget gồm: Khởi tạo Render widget thông qua build() 2. StatefulWidget Trái ngược với StatelessWidget thì StatefulWidget sẽ xử lí các dữ liệu bên trong nó, lắng nghe những thay đổi, dữ liệu này sẽ liên tục thay đổi (mutable) trong suốt l...