Android – Fragments

0

Một Fragment là một cái  activity cho phép nhiều mô đun activity design. Sẽ không sai nếu chúng ta nói, một fragment là một loại của sub-activity.

Sau đây là những điểm quan trọng về fragment –

  • Một fragment có bố cục riêng và hành vi riêng của mình.
  • Bạn có thể thêm hoặc xóa các fragments trong một activity trong khi activity đang chạy.
  • Bạn có thể kết hợp nhiều fragments trong một activity để xây dựng multi-plane UI.
  • Một fragment có thể được sử dụng trong nhiều activities.
  • Vòng đời fragment có liên quan chặt chẽ đến vòng đời của host activity, nghĩa là khi activity bị tạm dừng, tất cả các fragment trong activity cũng sẽ bị dừng lại.
  • Một fragment có thể thực hiện một hành vi mà không có thành phần giao diện người dùng.
  • Các fragment đã được thêm vào Android API trong phiên bản Honeycomb, hay còn gọi là API 11.

Bạn tạo các fragment bằng cách mở rộng lớp Fragment và bạn có thể chèn một đoạn vào trong activity layout của bạn như một phần tử <fragment>.

Trước khi giới thiệu fragment, chúng ta bị giới hạn vì chúng ta chỉ có thể hiển thị một activity trên màn hình tại một thời điểm nhất định. Vì vậy, chúng tôi đã không thể phân chia màn hình thiết bị và kiểm soát các phần khác nhau riêng biệt. Nhưng với sự ra đời của fragment, chúng ta đã linh hoạt hơn và loại bỏ các giới hạn của việc có một activity trên màn hình tại một thời điểm. Bây giờ chúng ta có thể có một hoạt động duy nhất nhưng mỗi hoạt động có thể bao gồm nhiều fragment có bố cục riêng, các sự kiện và chu trình sống hoàn chỉnh.

Sau đây là một ví dụ điển hình về cách 2 UI modules được xác định bằng các fragment có thể được kết hợp thành một activity cho thiết kế máy tính bảng, nhưng tách ra để thiết kế thiết bị cầm tay.

Android Fragment

Ứng dụng có thể nhúng hai fragments trong Activity A khi chạy trên thiết bị có kích thước máy tính bảng. Tuy nhiên, trên màn hình có kích thước của thiết bị cầm tay, không có đủ chỗ cho cả hai fragments, vì vậy Activity A chỉ bao gồm phần cho danh sách bài viết và khi người dùng chọn một dòng thông tin, nó sẽ bắt đầu Activity B, bao gồm fragment thứ hai để đọc bài viết.

Vòng đời Fragment

Android fragments có vong đời rất giống với Activity của android. Phần này tóm tắt các giai đoạn khác nhau của vòng đời fragment.

Fragment

Các phương thức FRAGMENT

Dưới đây là danh sách các phương thức mà bạn có thể ghi đè lên trong lớp fragment của bạn –

  • onAttach() Ví dụ fragment được liên kết với một cá thể activity. Fragment và activity không được khởi tạo đầy đủ. Thông thường bạn nhận được trong phương thức này một tham chiếu đến activity để sử dụng các fragmen cho công việc khởi tạo.
  • 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 thiết yếu của fragment mà bạn muốn giữ lại khi fragment được tạm dừng hoặc dừng, sau đó tiếp tục.
  • onCreateView() Hệ thống gọi lệnh gọi lại này khi đã đến lúc cho fragment đó vẽ giao diện người dùng của nó lần đầu tiên. Để vẽ một UI cho fragment của bạn, bạn phải trả về một View từ phương thức này là gốc của fragment’s layout. Bạn có thể trả về null nếu fragment không cung cấp giao diện người dùng.
  • onActivityCreated() Phương thức onActivityCreated() được gọi sau khi phương thức onCreateView()được tạo ra. Ví dụ activity and fragment đã được tạo ra. Tại thời điểm này, view có thể được truy cập bằng phương thức findViewById().
  • onStart() Phương thức onStart() được gọi khi fragment được hiển thị.
  • onResume() Fragment tiếp tục hoạt động.
  • onPause() Hệ thống gọi phương thức này là dấu hiệu đầu tiên cho thấy người dùng đang rời khỏi fragment. Đây thường là nơi bạn nên thực hiện bất kỳ thay đổi cần được duy trì phiên người dùng hiện tại.
  • onStop() Fragment sẽ bị dừng lại bằng cách gọi onStop().
  • onDestroyView() Fragment view sẽ bị hủy sau khi gọi phương thức này.
  • onDestroy() được gọi là để kết thúc trạng thái của fragment nhưng Không đảm bảo được gọi bởi nền tảng Android.

Sử dụng Fragments như thế nào?

Đây là các bước đơn giản để tạo Fragments.

  • Trước hết hãy quyết định có bao nhiêu fragment bạn muốn sử dụng trong một activity. Ví dụ: chúng ta muốn sử dụng hai fragment để xử lý các chế độ phong cảnh và chân dung của thiết bị.
  • Tiếp theo dựa trên số lượng các fragment, hãy tạo lớp mở rộng từ lớp Fragment. Lớp Fragment có các hàm gọi lại phía trên. Bạn có thể ghi đè lên bất kỳ hàm nào dựa trên yêu cầu của bạn.
  • Tương ứng với mỗi fragment, bạn sẽ cần phải tạo tệp bố trí trong tệp XML. Những tập tin này sẽ có bố cục cho các fragment được xác định.
  • Cuối cùng sửa đổi tệp Activity để xác định logic thực tế để thay thế các fragment dựa trên yêu cầu của bạn.

Các loại Fragments

Về cơ bản các mảnh được chia làm ba giai đoạn như hình dưới đây.

  • Single frame fragments – Single frame fragments sử dụng cho các thiết bị cầm tay như điện thoại di động, ở đây chúng ta chỉ có thể hiển thị một fragment như một khung nhìn.
  • List fragments – Các fragments có chế độ xem danh sách đặc biệt.
  • Fragments transaction – Sử dụng với fragment giao dịch. Chúng ta có thể di chuyển một fragment tới fragment khác.

 

LEAVE A REPLY