Fragment trong Android

| Thứ Năm, 1 tháng 3, 2018

Fragment là một phần của một Activity để cho phép thiết kế activity có tính mô-đun. Nó sẽ không sai nếu chúng ta nói rằng một Fragment là một loại sub-activity.

Sau đây là một số điểm quan yếu về Fragment: −

Fragment cũng có layout của riêng của nó, cũng có các hành vi và vòng đời riêng.

Chúng ta có thể thêm hoặc xóa Fragment trong một Activity trong khi Activity này đang chạy.

Có thể kết hợp nhiều Fragment trong một Activity để xây dựng giao diện người dùng đa khung.

Một Fragment có thể được dùng trong nhiều Activitiy.

Vòng đời của Fragment có quan hệ chặt chịa với vòng đời của Activity đang dùng nó, nghĩa là khi Activity bị tạm dừng thì các Fragment sẽ dừng lại.

Fragment có thể thực hiện một hành vi mà không có trong thành phần giao diện người dùng.

Fragment được thêm vào API 11 trở lên.

Bạn có thể tạo các Fragments bằng cách kế thừa lớp Fragment và bạn có thể chèn Fragment vào layout bởi thẻ .

Trước khi giới thiệu về Fragment, thì có một hạn chế là tại cùng một thời điểm đã cho chúng ta chỉ có thể hiển thị một Activity độc nhất trên màn hình. do vậy chúng ta chẳng thể chia màn hình thiết bị ra thành nhiều phần và kiểm soát các thành phần khác nhau này một cách biệt lập. Nhưng với Fragment thì màn hình được linh hoạt hơn, xóa bỏ việc chỉ có độc nhất 1 Activity trên màn hình tại một thời khắc. bây chừ chúng ta cũng chỉ có một Activity duy nhất nhưng Activity này có thể chứa nhiều Fragment với đầy đủ layout, event, và lifecycle.

Dưới đây là một tỉ dụ cụ thể về sử dụng Fragment. Thiết bị máy tính bảng với màn hình lớn thì một Activity có thể chứa 2 Fragment, còn thiết bị cầm tay với màn hình nhỏ thì có thể có 2 Activities với mỗi Activity là một Fragment.

 


Ứng dụng có thể nhúng hai Fragment trong Activity A, khi đang chạy trên một thiết bị máy tính bảng có kích cỡ một mực. Tuy nhiên, trên một màn hình nhất quyết của thiết bị cầm tay, thì không đủ chỗ cho cả hai Fragment này, do vậy Activity A chỉ có thể bao gồm Fragment chứa danh sách các article, và khi người dùng chọn một article, nó bắt đầu Activity B chứa Fragment thứ hai để đọc article đó.
Vòng đời của Fragment trong Android
 
Fragment trong Android có vòng đời riêng của nó, rưa rứa như một Activity trong Android. lược đồ sau thể hiện ngắn gọn các tuổi trong vòng đời của Fragment.
 
 
FRAGMENT LIFECYCLE

Dưới đây là danh sách các phương thức bạn có thể ghi đè trong lớp Fragment: −

onAttach()Sự biểu thị (instance) của Fragment được gắn kết với một sự biểu lộ của activity. Fragment và Activity không hoàn toàn được khởi tạo. Đặc biệt khi bạn lấy trong phương thức này một tham chiếu tới activity mà sử dụng Fragment cho công việc khởi tạo xa hơn.

onCreate() Hệ thống gọi phương thức này khi tạo Fragment. Bạn nên khởi tạo các thành phần cơ bản của Fragment mà bạn muốn duy trì khi Fragment bị dừng hoặc tạm dừng, sau đó được hồi phục lại.

onCreateView() Hệ thống gọi phương này khi cần Fragment đó để vẽ giao diện UI lần đầu tiên. Để vẽ một UI cho Fragment của bạn, bạn phải trả về một thành phần Viewtừ phương thức này. Đó là root của layout. Bạn có thể trả về null nếu Fragment không cung cấp một giao diện UI.

onActivityCreated()Được gọi sau phương thức onCreateView() khi host activity được tạo. Sự biểu hiện của Activity và Fragment đã được tạo cùng với cấu trúc view của activity đó. Tại điểm này, View có thể được truy cập với phương thức findViewById(). thí dụ, trong phương thức này bạn có thể khởi tạo các đối tượng mà cần một đối tượng Context.

onStart()√

onResume()Fragment hoạt động.

onPause() Hệ thống gọi phương thức này khi có dấu hiệu chỉ rằng người dùng đang rời khỏi Fragment này.

onStop()Fragment đang bị dừng bằng cách gọi phương thức này.

onDestroyView()Fragment view sẽ hủy sau khi gọi phương thức này.

onDestroy()Được gọi để xóa trạng thái của Fragment.
Cách sử dụng Fragment trong Android

Bạn theo các bước đơn giản sau để tạo các Fragment:

trước hết bạn phải quyết định xem có bao lăm Fragment bạn muốn sử dụng trong một Activity. tỉ dụ, nếu chúng ta muốn hai Fragment để xử lý các chế độ Landscape và Portrait của thiết bị.

Tiếp theo dựa vào số Fragment, tạo các lớp mà kế thừa từ lớp Fragment. Lớp Fragment này có các hàm callback đã đề cập ở trên. Bạn có thể ghi đè bất cứ hàm nào tùy theo yêu cầu.

ứng với mỗi Fragment, bạn sẽ cần tạo các layout file trong XML file. Các file này có layout cho các Fragment đã định nghĩa trước đó.

Sửa đổi activity file để xác định vị trí hợp lý cho các Fragment theo đề nghị.
Các loại Fragment trong Android

Về cơ bản, các Fragment được chia thành 3 loại sau:

Single Fragment: − được sử dụng cho các thiết bị cầm tay như mobile, ở đây chúng ta chỉ có thể hiển thị một Fragment như là một View.

List fragment − : có các list view đặc biệt.

Fragment transaction − Chúng ta có thể di chuyển từ một Fragment sang Fragment khác.

0 nhận xét:

Đăng nhận xét

Next Prev
▲Top▲