Fragment
: 액티비티처럼 이용할 수 있는 뷰view class
)xml 파일(ex. fragment_one) -> 기존 액티비티 레이아웃 구성과 같음
Fragment 클래스
pubic class oneFrag extends Fragment{
pubic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.fragment_one,container, false);
} }
onCreateView()
함수 재정의<fragment>
태그로 등록동적으로 액티비티 화면에 Fragment 출력하는 경우: FragmentManager, FragmentTransaction
activity layout xml 파일
<LinearLayout
android:id="@+id/main_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
activity 코드 내 프래그먼트 함수 사용
oneFrag = new OneFrag();
FragmentTransaction ft = manager.beginTransaction();
ft.add(R.id.main_container, oneFrag);
ft.commit();
add()를 사용해 화면에 추가할 수 있다 = add(Fragment가 추가될 위치)
FragmentTransaction에서 제공하는 함수
함수 | |
---|---|
add(int containerViewId, Fragment fragm) | 새로운 프래그먼트를 화면에 추가(id영역) |
add(int containerViewId, Fragment frag, String tag) | id 영역에 프래그 추가하며 추가한 프래그의 구분자를 태그명으로 설정 |
replace(int containerViewId, Fragment frag) | id영역에 추가된 프래그먼트 대체 |
replace(int containerViewId, Fragment frag,Stirng tag) | id 영역에 추가된 프래그를 대체하면서 tag 이름설정 |
remove(Fragment frag) | 추가된 프래그삭제 |
commit() | 화면에 적용 |
Fragment 생명주기
: 액티비티 생명주기를 그대로 이용하는 뷰BackStack
: Fragment가 화면에 안보이는 순간 제거하지 않고 저장해놓는 기능(다시이용)ft.addToBackStack(null)
함수 이용