Đổi nhiều layout cho một activity

Em có 2 màn hình tạm gọi là MH-A và MH-B.

MH-A có 2 Button, khi nhấn mỗi Button để chuyển sang MH-B em muốn hiển thì 2 layout # nhau.

Vậy phải làm như thế nào? Xin được chỉ giáo.

  • Cách thứ nhất, đơn giản nhưng hơi chuối: Layout Activity chứa 1 FrameLayout gồm 2 layout của 2 màn hình MH-A, MH-B .2 thằng này nằm đè lên nhau, 1 thằng INVISIBLE, 1 thằng VISIBLE, bạn chỉ muốn thằng nào hiện thì chỉ cần set visibility là VISIBLE, thằng còn lại INVISIBLE hoặc GONE.

  • Cách thứ hai, hơi mất công sức, nhưng đây là cách chuẩn: sử dùng 2 fragment trong cùng 1 activity, sử dụng FragmentManager của Activity để replace Fragment tuỳ theo nhu cầu của bạn.
    Cách này sẽ có lợi hơn khi bạn muốn chia để trị, 1 fragment đảm nhiệm 1 công việc riêng. Chưa kể sẽ dễ dàng hơn cho việc support cho màn hình Tablet (Master-Detail) sau này. Bạn có thể tham khảo link dưới đây:

1 Like

Đang thử cả 2 cách, cảm ơn góp ý của bác!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?