openplanning

Hướng dẫn và ví dụ Flutter Center

Xem thêm các chuyên mục:

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.
Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook

1- Flutter Center

Center là một widget đặt widget con duy nhất của nó tại trung tâm của nó.
CenterAlign khá giống nhau, chúng chỉ có duy nhất một widget con, nhưng Align cho phép bạn tùy biến vị trí của widget con bên trong nó.
Center Constructor

const Center(
    {Key key,
    double widthFactor,
    double heightFactor,
    Widget child}
)
Nếu tham số widthFactor không được chỉ định thì chiều rộng của Center sẽ lớn nhất có thể, ngược lại chiều rộng của Center bằng chiều rộng của child nhân với widthFactor. Tham số heightFactor cũng có hành vi tương tự đối với chiều cao của Center. Như vậy theo mặc định kích thước của Center sẽ lớn nhất có thể.

Center(
    child: Icon (
        Icons.place,
        size: 128,
        color: Colors.redAccent
    )
)
main.dart (ex1)

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'o7planning.org',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  MyHomePage({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
          title: Text("Flutter Center Example")
      ),
      body: Center(
          child: Icon (
              Icons.place,
              size: 128,
              color: Colors.redAccent
          )
      ),
    );
  }
}

2- child

child là widget con duy nhất của Center. Trong một số tình huống sử dụng nó có thể là đối tượng Row, Column hoặc Stack để có thể chứa được nhiều widget khác.

Widget child
Ví dụ với child là một đối tượng Row, nó có thể chứa nhiều widget con trên một hàng.
child (ex1)

Center (
    child: Row (
       mainAxisAlignment: MainAxisAlignment.center,
       children: [
         Icon (
             Icons.place,
             size: 48,
             color: Colors.redAccent
         ),
         Text("My Location!")
       ],
    )
)
Ví dụ với child là một đối tượng Column, nó có thể chứa nhiều widget con trên một cột.
child (ex2)

Center (
    child: Column (
       mainAxisAlignment: MainAxisAlignment.center,
       children: [
         Icon (
             Icons.place,
             size: 48,
             color: Colors.redAccent
         ),
         Text("My Location!")
       ],
    )
)

3- widthFactor

widthFactor là một hệ số được sử dụng để tính toán chiều rộng của Center dựa trên chiều rộng của child (Con của nó). Nếu widthFactor không null chiều rộng của Center bằng chiều rộng của child nhân với hệ số này.
Nếu widthFactor không được chỉ định chiều rộng của Center sẽ lớn nhất có thể.

double widthFactor
Ví dụ:
widthFactor (ex1)

Center(
    child: ElevatedButton (
        child: Text("Button"),
        onPressed: () {}
    ),
    widthFactor: 2.0
)

4- heightFactor

heightFactor là một hệ số được sử dụng để tính toán chiều cao của Center dựa trên chiều cao của child (Con của nó). Nếu heightFactor không null chiều cao của Center bằng chiều cao của child nhân với hệ số này.
Nếu heightFactor không được chỉ định chiều cao của Center sẽ lớn nhất có thể.

double heightFactor
Ví dụ:
heightFactor (ex1)

Center(
    child: ElevatedButton (
        child: Text("Button"),
        onPressed: () {}
    ),
    heightFactor: 3.0
)

Xem thêm các chuyên mục: