Thursday, March 1, 2018

Fragment trong Android

ảnh minh họa - Học lập trình android

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 trọng 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 sử dụng trong nhiều Activitiy.

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

Fragment có thể thực hành 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 khắc đã cho chúng ta chỉ có thể hiển thị một Activity độc nhất vô nhị trên màn hình. nên 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. hiện thời 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 Ví 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.

 


vận 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ỡ nhất quyết. 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, vì 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ó, hao hao như một Activity trong Android. lược đồ sau mô tả ngắn gọn các giai đoạn 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ự trình diễn.# (instance) của Fragment được gắn kết với một sự diễn đạt 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à 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ăn 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 phục hồi lại.

onCreateView() Hệ thống gọi phương này khi cần Fragment đó để vẽ giao diện UI lần trước 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(). tỉ 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 dạng 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 tiên bạn phải quyết định xem có bao lăm Fragment bạn muốn dùng trong một Activity. thí 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.

Tương ứ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ăn bản, các Fragment được chia thành 3 loại sau:

Single Fragment: − được 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ể chuyển di từ một Fragment sang Fragment khác.

No comments:

Post a Comment