Single Fragment trong Android
Single Fragment trong Android
Single Frame Fragment được thiết kế cho các thiết bị màn hình nhỏ (các thiết bị cầm tay như mobile), có trong Android 3.0 trở lên.
Ví dụ
Ví dụ sau giải thích cách bạn tạo cho riêng mình các Fragment. Ở đây, chúng ta sẽ tạo hai Fragment và một trong số chúng được sử dụng khi thiết bị là trong chế độ Landscape, cái khác cho thiết bị trong chế độ Portrait. Bạn theo các bước tương tự như trong Ví dụ Hello World. −
Bước | Miêu tả |
---|---|
1 | Bạn sử dụng Android StudioIDE để tạo một ứng dụng Android với tên MyFragments dưới một package com.example.myfragments |
2 | Sửa đổi MainActivity.java . Ở đây, chúng ta sẽ kiểm tra chế độ (Landscape và Portrait) của thiết bị, từ đó chúng ta sẽ tương ứng chuyển đổi giữa các Fragment khác nhau |
3 | Tạo 2 java là PM_Fragment.javavà LM_Fragement.javadưới một package com.example.myfragments để định nghĩa hai Fragment và các phương thức gắn kết với chúng |
4 | Tạo res/layout/lm_fragment.xml và res/layout/pm_fragment.xml và định nghĩa layout tương ứng cho cả hai Fragment |
5 | Sửa đổi nội dung mặc định của res/layout/activity_main.xml file để bao cả hai Fragment |
6 | Định nghĩa các hằng cần thiết trong res/values/strings.xml file |
7 | Chạy ứng dụng để chạy Android Emulator và kiểm tra kết quả các thay đổi đã được thực hiện trong ứng dụng |
Sau đây là nội dung của src/com.example.mycontentprovider/MainActivity.java đã được sửa đổi: −
package com.example.myfragments;import android.os.Bundle; import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.res.Configuration; import android.view.WindowManager;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Configuration config = getResources().getConfiguration(); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); /** * Check the device orientation and act accordingly */ if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) { /** * Landscape mode of the device */ LM_Fragment ls_fragment = new LM_Fragment(); fragmentTransaction.replace(android.R.id.content, ls_fragment); }else{ /** * Portrait mode of the device */ PM_Fragment pm_fragment = new PM_Fragment(); fragmentTransaction.replace(android.R.id.content, pm_fragment); } fragmentTransaction.commit(); } }
Tạo 2 file là LM_Fragement.java và PM_Fragment.java dưới package là com.example.mycontentprovider
Sau đây là nội dung của LM_Fragement.java file −
package com.example.myfragments;import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class LM_Fragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { /** * Inflate the layout for this fragment */ return inflater.inflate( R.layout.lm_fragment, container, false); } }
Sau đây là nội dung của PM_Fragement.java file −
package com.example.myfragments;import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class PM_Fragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { /** * Inflate the layout for this fragment */ return inflater.inflate( R.layout.pm_fragment, container, false); } }
Tạo 2 layout files là lm_fragement.xml và pm_fragment.xmldưới thư mục res/layout .
Sau đây là nội dung của lm_fragement.xml file −
Còn đây là nội dung của pm_fragment.xml file −
Tiếp theo, nội dung của res/layout/activity_main.xml để bao các Fragment của bạn: −
Đảm bảo bạn có nội dung sau của res/values/strings.xml file −
MyFragments Settings Hello world! This is Landscape mode fragment This is Portrait mode fragment>
Bây giờ, chạy ứng dụng MyFragments đã sửa đổi trên. Giả sử bạn đã tạo AVD trong khi cài đặt. Để chạy ứng dụng từ Android Studio, mở activity file và nhấn biểu tượng Run từ thanh công cụ. −
Để thay đổi chế độ trong màn hình mô phỏng, bạn thực hiện: −
Nhấn tổ hợp fn+control+F11 trên Mac để thay đổi từ Landscape sang Portrait và ngược lại.
Trên Windows là ctrl+F11.
Trên Linux là ctrl+F11
Khi bạn đã thay đổi chế độ, bạn có thể thấy GUI bạn đã triển khai cho chế độ Landscape như sau: −
Theo cách này, bạn có thể sử dụng cùng Activity nhưng với GUI khác nhau thông qua Fragment khác nhau. Bạn có thể sử dụng các kiểu thành phần GUI khác nhau tùy theo yêu cầu của bạn.
Bài học Angular phổ biến tại hoconline.club: