Tạo bố cục phản hồi nhanh trong ứng dụng canvas
Trước khi xây dựng ứng dụng canvas trong Power Apps, bạn chỉ định xem có điều chỉnh ứng dụng cho phù hợp với điện thoại hoặc máy tính bảng hay không. Lựa chọn này xác định kích thước và hình dạng của canvas mà bạn sẽ xây dựng ứng dụng của mình.
Sau khi thực hiện lựa chọn đó, bạn có thể thực hiện thêm một số lựa chọn nếu chọn Thiết đặt > Hiển thị Bạn có thể chọn hướng dọc hoặc ngang và kích thước màn hình (chỉ dành cho máy tính bảng). Bạn cũng có thể khóa hoặc mở khóa tỷ lệ khung ảnh và hỗ trợ xoay thiết bị (hoặc không).
Những lựa chọn đó là nền tảng cho mọi lựa chọn khác mà bạn thực hiện khi thiết kế bố cục màn hình. Nếu ứng dụng chạy trên một thiết bị có kích cỡ khác hoặc trên web, toàn bộ bố cục của bạn sẽ co giãn cho vừa với màn hình nơi ứng dụng đang chạy. Ví dụ: nếu một ứng dụng thiết kế cho điện thoại chạy trong cửa sổ trình duyệt lớn, ứng dụng này sẽ co giãn để bù trừ và có vẻ quá cỡ so với không gian của nó. Ứng dụng không thể tận dụng các điểm ảnh bổ sung bằng cách hiển thị nhiều tùy chọn kiểm soát hơn hoặc nhiều nội dung hơn.
Nếu bạn tạo bố cục phản hồi nhanh, các tùy chọn kiểm soát có thể phản hồi các thiết bị hoặc kích thước cửa sổ khác nhau, giúp trải nghiệm trở nên tự nhiên hơn. Để đạt được bố cục phản hồi nhanh, hãy điều chỉnh một số thiết đặt và viết biểu thức trên khắp ứng dụng của bạn.
Tắt tùy chọn Co giãn cho vừa
Bạn có thể đặt cấu hình từng màn hình để bố cục thích nghi với không gian thực tế mà ứng dụng đang chạy.
Bạn kích hoạt khả năng phản hồi bằng cách tắt thiết đặt Co giãn cho vừa của ứng dụng, tùy chọn này được bật theo mặc định. Khi tắt thiết đặt này, bạn cũng tắt tùy chọn Khóa tỷ lệ khung ảnh vì bạn không còn thiết kế cho hình dạng màn hình cụ thể nữa. (Bạn vẫn có thể chỉ định xem ứng dụng có hỗ trợ xoay thiết bị hay không.)
Để làm cho ứng dụng phản hồi nhanh, bạn phải thực hiện các bước bổ sung, nhưng sự thay đổi này là bước đầu tiên để tạo khả năng phản hồi.
Tìm hiểu kích thước ứng dụng và màn hình
Để làm cho bố cục của ứng dụng phản hồi các thay đổi về kích thước màn hình, bạn sẽ viết công thức sử dụng các thuộc tính Width và Height của màn hình. Để hiển thị các thuộc tính này, hãy mở ứng dụng trong Power Apps Studio, sau đó chọn một màn hình. Các công thức mặc định cho những thuộc tính này xuất hiện trên tab Nâng cao ở ngăn bên phải.
Chiều rộng = Max(App.Width, App.DesignWidth)
Chiều cao = Max(App.Height, App.DesignHeight)
Những công thức này tham chiếu đến các thuộc tính Width, Height, DesignWidth và DesignHeight của ứng dụng. Các thuộc tính Width và Height của ứng dụng tương ứng với kích thước của thiết bị hoặc cửa sổ trình duyệt mà ứng dụng đang chạy. Nếu người dùng đổi kích thước cửa sổ trình duyệt (hoặc xoay thiết bị nếu bạn đã tắt Khóa hướng), giá trị của các thuộc tính này sẽ thay đổi linh hoạt. Các công thức trong thuộc tính Width và Height của màn hình sẽ được đánh giá lại khi các giá trị này thay đổi.
Các thuộc tính DesignWidth và DesignHeight đến từ các kích thước mà bạn chỉ định trong ngăn Hiển thị của phần Thiết đặt. Ví dụ: nếu bạn chọn bố cục điện thoại theo hướng dọc, DesignWidth sẽ là 640 và DesignHeight sẽ là 1136.
Vì được dùng trong các công thức cho thuộc tính Width và Height của màn hình, bạn có thể coi DesignWidth và DesignHeight là kích thước tối thiểu mà bạn sẽ thiết kế ứng dụng. Nếu khu vực thực tế cung cấp cho ứng dụng của bạn còn nhỏ hơn những kích thước tối thiểu này, các công thức cho thuộc tính Width và Height của màn hình sẽ đảm bảo rằng giá trị của chúng không nhỏ hơn mức tối thiểu. Trong trường hợp đó, người dùng phải cuộn để xem tất cả nội dung của màn hình.
Sau khi thiết lập DesignWidth và DesignHeight của ứng dụng, bạn sẽ không (trong hầu hết các trường hợp) cần thay đổi công thức mặc định cho mỗi thuộc tính Width và Height của màn hình. Ở phần sau, chủ đề này sẽ thảo luận về các trường hợp mà bạn nên tùy chỉnh những công thức này.
Sử dụng công thức cho bố cục động
Để tạo thiết kế phản hồi nhanh, bạn sẽ định vị và định cỡ từng tùy chọn kiểm soát bằng cách sử dụng công thức thay cho giá trị tọa độ tuyệt đối (không đổi). Các công thức này biểu thị vị trí và kích thước của từng tùy chọn kiểm soát so với kích thước màn hình tổng thể hoặc so với các tùy chọn kiểm soát khác trên màn hình.
Quan trọng
Sau khi bạn viết công thức cho các thuộc tính X, Y, Width và Height của một tùy chọn kiểm soát, công thức của bạn sẽ được ghi đè bằng các giá trị không đổi nếu sau này bạn kéo tùy chọn kiểm soát đó vào trình soạn thảo canvas. Khi bắt đầu sử dụng công thức để đạt được bố cục động, bạn nên tránh kéo các tùy chọn kiểm soát.
Trong trường hợp đơn giản nhất, một tùy chọn kiểm soát sẽ lấp đầy toàn bộ màn hình. Để tạo hiệu ứng này, hãy đặt các thuộc tính của tùy chọn kiểm soát thành những giá trị sau:
Thuộc tính | Giá trị |
---|---|
X | 0 |
Y | 0 |
Chiều rộng | Parent.Width |
Chiều cao | Parent.Height |
Những công thức này sử dụng toán tử Parent. Đối với tùy chọn kiểm soát được đặt ngay trên màn hình, Parent tham chiếu đến màn hình. Với các giá trị thuộc tính này, tùy chọn kiểm soát sẽ xuất hiện ở góc trên bên trái của màn hình (0, 0), đồng thời có Width và Height giống như màn hình.
Ở phần sau trong chủ đề này, bạn sẽ áp dụng các nguyên tắc dưới đây (và toán tử Parent) để đặt tùy chọn kiểm soát vào trong các vùng chứa khác, chẳng hạn như bộ sưu tập, tùy chọn kiểm soát nhóm và thành phần.
Hoặc, tùy chọn kiểm soát này chỉ có thể lấp đầy nửa trên cùng của màn hình. Để tạo hiệu ứng này, hãy đặt thuộc tính Height thành Parent.Height / 2 và không thay đổi các công thức khác.
Nếu muốn tùy chọn kiểm soát thứ hai lấp đầy nửa dưới cùng của cùng màn hình, bạn có thể thực hiện ít nhất 2 cách tiếp cận khác để xây dựng công thức. Để đơn giản, bạn có thể thực hiện cách sau:
Điều khiển | Thuộc tính | Công thức |
---|---|---|
Cao hơn | X | 0 |
Cao hơn | Y | 0 |
Cao hơn | Chiều rộng | Parent.Width |
Cao hơn | Chiều cao | Parent.Height / 2 |
Thấp hơn | X | 0 |
Thấp hơn | Y | Parent.Height / 2 |
Thấp hơn | Chiều rộng | Parent.Width |
Thấp hơn | Chiều cao | Parent.Height / 2 |
Cấu hình này sẽ đạt được hiệu quả mà bạn muốn, nhưng bạn cần chỉnh sửa từng công thức nếu đổi ý về kích thước tương đối của các tùy chọn kiểm soát. Ví dụ: bạn có thể quyết định rằng tùy chọn kiểm soát trên cùng sẽ chỉ chiếm 1/3 phía trên màn hình, còn tùy chọn kiểm soát dưới cùng sẽ lấp đầy 2/3 phía dưới màn hình.
Để tạo hiệu ứng đó, bạn cần cập nhật thuộc tính Height của tùy chọn kiểm soát Phía trên cũng như các thuộc tính Y và Height của tùy chọn kiểm soát Phía dưới. Thay vào đó, hãy cân nhắc viết công thức cho tùy chọn kiểm soát Phía dưới so với tùy chọn kiểm soát Phía trên (và chính nó), như trong ví dụ sau:
Điều khiển | Thuộc tính | Công thức |
---|---|---|
Cao hơn | X | 0 |
Cao hơn | Y | 0 |
Cao hơn | Chiều rộng | Parent.Width |
Cao hơn | Chiều cao | Parent.Height / 3 |
Lower | X | 0 |
Lower | Y | Upper.Y + Upper.Height |
Lower | Chiều rộng | Parent.Width |
Thấp hơn | Chiều cao | Parent.Height - Lower.Y |
Khi có sẵn các công thức này, bạn chỉ cần thay đổi thuộc tính Height của tùy chọn kiểm soát Phía trên để biểu thị một phần khác của chiều cao màn hình. Tùy chọn kiểm soát Phía dưới sẽ tự động di chuyển và đổi kích thước để bù trừ sự thay đổi.
Bạn có thể sử dụng các mẫu công thức sau để biểu thị những mối quan hệ bố cục phổ biến giữa tùy chọn kiểm soát có tên C và tùy chọn kiểm soát chính hoặc tùy chọn kiểm soát đồng hạng có tên D.
Mối quan hệ giữa C và tùy chọn kiểm soát chính | Thuộc tính | Công thức | Hình minh họa |
---|---|---|---|
C lấp đầy chiều rộng của tùy chọn kiểm soát chính, với lề là N | X | N |
|
Chiều rộng | Parent.Width - (N * 2) |
||
C lấp đầy chiều cao của tùy chọn kiểm soát chính, với lề là N | Y | N |
|
Chiều cao | Parent.Height - (N * 2) |
||
C căn thẳng với cạnh phải của tùy chọn kiểm soát chính, với lề là N | X | Parent.Width - (C.Width + N) |
|
C căn thẳng với cạnh dưới cùng của tùy chọn kiểm soát chính, với lề là N | Y | Parent.Height - (C.Height + N) |
|
C căn giữa theo chiều ngang trên tùy chọn kiểm soát chính | X | (Parent.Width - C.Width) / 2 |
|
C căn giữa theo chiều dọc trên tùy chọn kiểm soát chính | Y | (Parent.Height - C.Height) / 2 |
Mối quan hệ giữa C và D | Thuộc tính | Công thức | Hình minh họa |
---|---|---|---|
C căn thẳng theo chiều ngang với D và có cùng chiều rộng với D | X | D.X |
|
Chiều rộng | D.Width |
||
C căn thẳng theo chiều dọc với D và có cùng chiều cao với D | Y | D.Y |
|
Chiều cao | D.Height |
||
Cạnh phải của C căn thẳng với cạnh phải của D | X | D.X + D.Width - C.Width |
|
Cạnh dưới cùng của C căn thẳng với cạnh dưới cùng của D | Y | D.Y + D.Height - C.Height |
|
C căn giữa theo chiều ngang so với D | X | D.X + (D.Width - C.Width) / 2 |
|
C căn giữa theo chiều dọc so với D | Y | D.Y + (D.Height - C.Height) /2 |
|
C nằm bên phải D với khoảng trống là N | X | D.X + D.Width + N |
|
C nằm bên dưới D với khoảng trống là N | Y | D.Y + D.Height + N |
|
C lấp đầy không gian giữa D và cạnh phải của tùy chọn kiểm soát chính | X | D.X + D.Width |
|
Chiều rộng | Parent.Width - C.X |
||
C lấp đầy không gian giữa D và cạnh dưới cùng của tùy chọn kiểm soát chính | Y | D.Y + D.Height |
|
Chiều cao | Parent.Height - C.Y |
Bố cục theo cấp bậc
Khi bạn xây dựng các màn hình chứa nhiều tùy chọn kiểm soát khác, sẽ thuận tiện hơn (hay thậm chí là cần thiết) khi đặt các tùy chọn kiểm soát tương quan với tùy chọn kiểm soát chính, thay vì tương quan với màn hình hoặc tùy chọn kiểm soát đồng hạng. Bằng cách sắp xếp các tùy chọn kiểm soát thành cấu trúc theo cấp bậc, bạn có thể làm cho công thức dễ viết và duy trì hơn.
Bộ sưu tập
Nếu sử dụng bộ sưu tập trong ứng dụng, bạn cần bố trí các tùy chọn kiểm soát trong mẫu của bộ sưu tập. Bạn có thể đặt các tùy chọn kiểm soát này bằng cách viết công thức sử dụng toán tử Parent, sẽ tham chiếu đến mẫu bộ sưu tập. Trong các công thức trên tùy chọn kiểm soát trong mẫu bộ sưu tập, hãy sử dụng thuộc tính Parent.TemplateHeight và Parent.TemplateWidth; không sử dụng Parent.Width và Parent.Height, tham chiếu đến kích thước tổng thể của bộ sưu tập.
Tùy chọn kiểm soát vùng chứa
Bạn có thể sử dụng điều khiển Vùng chứa bố cục, làm điều khiển chính.
Xem xét ví dụ về đề mục ở đầu màn hình. Thông thường, bạn có thể thêm đề mục với một tiêu đề và vài biểu tượng mà người dùng có thể tương tác. Bạn có thể xây dựng đề mục như vậy bằng cách sử dụng tùy chọn kiểm soát Vùng chứa, có chứa một tùy chọn kiểm soát Nhãn và 2 tùy chọn kiểm soát Biểu tượng:
Đặt thuộc tính cho các tùy chọn kiểm soát này thành những giá trị sau:
Thuộc tính | Đầu trang | Menu | Đóng | Chức danh |
---|---|---|---|---|
X | 0 |
0 |
Parent.Width - Close.Width |
Menu.X + Menu.Width |
Y | 0 |
0 |
0 |
0 |
Chiều rộng | Parent.Width |
Parent.Height |
Parent.Height |
Close.X - Title.X |
Chiều cao | 64 |
Parent.Height |
Parent.Height |
Parent.Height |
Đối với tùy chọn kiểm soát Đề mục, Parent
sẽ tham chiếu đến màn hình. Đối với các tùy chọn kiểm soát khác, Parent
sẽ tham chiếu đến tùy chọn kiểm soát Đề mục.
Sau khi viết các công thức này, bạn có thể điều chỉnh kích thước hoặc vị trí của tùy chọn kiểm soát Đề mục bằng cách thay đổi công thức cho các thuộc tính của nó. Kích thước và vị trí của các tùy chọn kiểm soát phụ sẽ tự động điều chỉnh cho phù hợp.
Điều khiển vùng chứa tự động bố trí
Bạn có thể sử dụng tính năng điều khiển vùng chứa Tự động bố trí để tự động bố trí các thành phần con. Các vùng chứa này xác định vị trí của các thành phần con để bạn không bao giờ phải đặt X, Y cho một thành phần bên trong vùng chứa. Ngoài ra, vùng chứa có thể phân phối không gian có sẵn cho các thành phần con dựa trên cài đặt, cũng như xác định cả căn chỉnh dọc và ngang của các thành phần con. Thông tin thêm: Điều khiển vùng chứa tự động bố trí
Cấu phần
Nếu bạn sử dụng một tính năng khác có tên là Components, bạn có thể xây dựng các khối xây dựng và tái sử dụng chúng trong toàn bộ ứng dụng của mình. Giống với tùy chọn kiểm soát Vùng chứa, các tùy chọn kiểm soát mà bạn đặt trong một thành phần sẽ dựa trên công thức vị trí và kích thước trên Parent.Width
và Parent.Height
, tham chiếu đến kích thước của thành phần. Thông tin thêm: Tạo thành phần.
Điều chỉnh bố cục cho hướng và kích thước thiết bị
Cho đến giờ, bạn đã tìm hiểu cách sử dụng công thức để thay đổi kích thước của từng tùy chọn kiểm soát cho phù hợp với không gian hiện có, trong khi vẫn căn chỉnh các tùy chọn kiểm soát tương đối với nhau. Tuy nhiên, bạn nên/cần thực hiện thêm các thay đổi về bố cục nhằm thích ứng với các hướng và kích thước thiết bị khác nhau. Chẳng hạn, khi một thiết bị được xoay từ hướng dọc sang hướng ngang, bạn nên chuyển từ bố cục dọc sang bố cục ngang. Trên một thiết bị lớn hơn, bạn có thể trình bày nhiều nội dung hơn hoặc sắp xếp lại để mang đến bố cục hấp dẫn hơn. Trên một thiết bị nhỏ hơn, bạn có thể cần phải phân tách nội dung trên nhiều màn hình.
Hướng thiết bị
Các công thức mặc định cho thuộc tính Width và Height của màn hình, như chủ đề này đã mô tả trước đó, không nhất thiết sẽ mang lại trải nghiệm tốt nếu người dùng xoay thiết bị. Ví dụ: một ứng dụng thiết kế cho điện thoại theo hướng dọc có DesignWidth là 640 và DesignHeight là 1136. Cùng ứng dụng đó trên điện thoại theo hướng ngang sẽ có các giá trị thuộc tính sau:
- Thuộc tính Width của màn hình được đặt thành
Max(App.Width, App.DesignWidth)
. Width (1136) của ứng dụng lớn hơn DesignWidth (640), vì vậy công thức sẽ đánh giá thành 1136. - Thuộc tính Height của màn hình được đặt thành
Max(App.Height, App.DesignHeight)
. Height (640) của ứng dụng nhỏ hơn DesignHeight (1136), vì vậy công thức sẽ đánh giá thành 1136.
Với Height màn hình là 1136 và chiều cao thiết bị (theo hướng này) là 640, người dùng phải cuộn màn hình theo hướng dọc để hiển thị tất cả nội dung của thiết bị, đây có thể không phải là trải nghiệm mà bạn muốn.
Để điều chỉnh thuộc tính Width và Height của màn hình thành hướng thiết bị, bạn có thể sử dụng các công thức sau:
Chiều rộng = Max(App.Width, If(App.Width < App.Height, App.DesignWidth, App.DesignHeight))
Chiều cao = Max(App.Height, If(App.Width < App.Height, App.DesignHeight, App.DesignWidth))
Các công thức này hoán đổi giá trị DesignWidth và DesignHeight của ứng dụng, dựa trên việc chiều rộng của thiết bị nhỏ hơn chiều cao (hướng dọc) hay lớn hơn chiều cao (hướng ngang) của ứng dụng.
Sau khi điều chỉnh các công thức Width và Height của màn hình, bạn cũng nên sắp xếp lại các tùy chọn kiểm soát trong màn hình để tận dụng tốt hơn không gian có sẵn. Ví dụ: nếu mỗi tùy chọn kiểm soát chiếm một nửa màn hình, bạn có thể xếp chồng theo chiều dọc nhưng sắp xếp cạnh nhau theo chiều ngang.
Bạn có thể sử dụng thuộc tính Orientation của màn hình để xác định xem màn hình được định hướng theo chiều dọc hay chiều ngang.
Lưu ý
Ở hướng ngang, các tùy chọn kiểm soát Phía trên và Phía dưới sẽ xuất hiện dưới dạng tùy chọn kiểm soát trái và phải.
Điều khiển | Thuộc tính | Công thức |
---|---|---|
Cao hơn | X | 0 |
Cao hơn | Y | 0 |
Cao hơn | Chiều rộng | If(Parent.Orientation = Layout.Vertical, Parent.Width, Parent.Width / 2) |
Cao hơn | Chiều cao | If(Parent.Orientation = Layout.Vertical, Parent.Height / 2, Parent.Height) |
Lower | X | If(Parent.Orientation = Layout.Vertical, 0, Upper.X + Upper.Width) |
Lower | Y | If(Parent.Orientation = Layout.Vertical, Upper.Y + Upper.Height, 0) |
Lower | Chiều rộng | Parent.Width - Lower.X |
Thấp hơn | Chiều cao | Parent.Height - Lower.Y |
Kích thước màn hình và điểm ngắt
Bạn có thể điều chỉnh bố cục dựa trên kích thước của thiết bị. Thuộc tính Size của màn hình phân loại kích thước thiết bị hiện tại. Kích thước là một số nguyên dương; loại ScreenSize cung cấp các hằng số được đặt tên để giúp dễ đọc. Bảng sau liệt kê các hằng số:
Hằng số | Giá trị | Loại thiết bị điển hình (sử dụng thiết đặt ứng dụng mặc định) |
---|---|---|
ScreenSize.Small | 1 | Số Điện thoại |
ScreenSize.Medium | 2 | Máy tính bảng, giữ theo chiều dọc |
ScreenSize.Large | 3 | Máy tính bảng, giữ theo chiều ngang |
ScreenSize.ExtraLarge | 4 | Máy tính để bàn |
Sử dụng các kích thước này để đưa ra quyết định về bố cục của ứng dụng. Ví dụ: nếu muốn ẩn một tùy chọn kiểm soát trên thiết bị có kích thước điện thoại nhưng vẫn hiển thị trên thiết bị khác, bạn có thể đặt thuộc tính Visible của tùy chọn kiểm soát đó thành công thức sau:
Parent.Size >= ScreenSize.Medium
Công thức này sẽ đánh giá thành đúng khi kích thước là trung bình hoặc lớn hơn và sai nếu không phải.
Nếu bạn muốn một tùy chọn kiểm soát chiếm một phần khác của chiều rộng màn hình dựa trên kích thước màn hình, hãy đặt thuộc tính Width của tùy chọn kiểm soát đó thành công thức sau:
Parent.Width *
Switch(
Parent.Size,
ScreenSize.Small, 0.5,
ScreenSize.Medium, 0.3,
0.25
)
Công thức này đặt chiều rộng của tùy chọn kiểm soát thành một nửa chiều rộng màn hình trên màn hình nhỏ, 3/10 chiều rộng màn hình trên màn hình trung bình và 1/4 chiều rộng màn hình trên tất cả màn hình khác.
Điểm ngắt tùy chỉnh
Thuộc tính Size của màn hình được tính bằng cách so sánh thuộc tính Width của màn hình với các giá trị trong thuộc tính SizeBreakpoints của ứng dụng. Thuộc tính này là một bảng số gồm một cột duy nhất cho biết các điểm ngắt chiều rộng để phân tách các kích thước màn hình được đặt tên:
Trong một ứng dụng được tạo cho máy tính bảng hoặc web, giá trị mặc định trong thuộc tính SizeBreakpoints của ứng dụng là [600, 900, 1200]. Trong một ứng dụng được tạo cho điện thoại, giá trị là [1200, 1800, 2400]. (Các giá trị cho ứng dụng điện thoại được nhân đôi vì các ứng dụng này sử dụng tọa độ có hiệu quả gấp đôi so với tọa độ được dùng trong các ứng dụng khác.)
Bạn có thể tùy chỉnh các điểm ngắt của ứng dụng bằng cách thay đổi các giá trị trong thuộc tính SizeBreakpoints của ứng dụng. Chọn Ứng dụng ở dạng xem cây, chọn SizeBreakpoint trong danh sách thuộc tính, sau đó chỉnh sửa các giá trị trên thanh công thức. Bạn có thể tạo điểm ngắt với số lượng mà ứng dụng cần, nhưng chỉ có kích thước từ 1 đến 4 tương ứng với kích thước màn hình được đặt tên. Trong công thức, bạn có thể tham chiếu đến các kích thước ngoài ExtraLarge theo các giá trị dạng số (5, 6, v.v.).
Bạn cũng có thể chỉ định ít điểm ngắt hơn. Ví dụ: ứng dụng có thể chỉ cần 3 kích thước (2 điểm ngắt), vì vậy kích thước màn hình có thể sẽ là Nhỏ, Trung bình và Lớn.
Các giới hạn đã biết
Canvas biên soạn không đáp ứng các công thức định cỡ đã tạo. Để kiểm tra chế độ phản hồi nhanh, hãy lưu và xuất bản ứng dụng của bạn, sau đó mở trên các thiết bị hoặc trong các cửa sổ trình duyệt có kích thước và hướng khác nhau.
Nếu viết biểu thức hoặc công thức trong các thuộc tính X, Y, Width và Height của một tùy chọn kiểm soát, bạn sẽ ghi đè các biểu thức hoặc công thức đó nếu sau này bạn kéo tùy chọn kiểm soát sang một vị trí khác hoặc đổi kích thước tùy chọn kiểm soát bằng cách kéo viền của nó.
Lưu ý
Bạn có thể cho chúng tôi biết bạn thích dùng ngôn ngữ nào cho tài liệu không? Làm một cuộc khảo sát ngắn. (xin lưu ý, khảo sát này bằng tiếng Anh)
Cuộc khảo sát sẽ mất khoảng bảy phút. Không có dữ liệu cá nhân nào được thu thập (điều khoản về quyền riêng tư).