본문 바로가기
안드로이드

[android] [kotlin] Fragment 사용하기

by 코드 이야기 2020. 12. 31.
728x90

Fragment 시작합니다!

 

안드로이드에서 화면을 바꾸는 방법이 두 가지가 있는데

하나는 새로운 액티비티를 띄우는 방식 

다른 하나는 액티비티의 일부만 바꾸는 방식(프레그먼트) 이렇게 두 방식이 있습니다.

대표적으로 카카오톡, 인스타그램, 페이스북 등에서 이 방식을 볼 수 있죠..! (대부분의 앱에 이용이 된다고 보면 됩니다.)

액티비티(화면) 전체를 바꾸는 것보다는 일부만 바꾸는 것이 자원 이용량이 적어 속도가 빠르기 때문에 많이 이용됩니다.

 

자, 이제 프레그먼트를 이용해 화면을 바꿔봅시다!

 

우선 메인 화면을 구성해줍시다.

 

activity_main.xml

 

그 후에는 page 1(frag1.xml), page2(frag2xml), page 3(frag3xml)에 들어갈 화면을 대충 구성해주세요.

 

그 다음으로는 

 

OneFragment.kt, TwoFragment.kt, ThreeFragment.kt

class OneFragment : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

        return inflater.inflate(R.layout.frag1, container, false)
        //frag1과 연결시켜 return해줌.
    }
}


class TwoFragment : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

        return inflater.inflate(R.layout.frag2, container, false)
        //frag2과 연결시켜 return해줌.
    }
}

class ThreeFragment : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

        return inflater.inflate(R.layout.frag3, container, false)
        //frag3과 연결시켜 return해줌.
    }
}

1, 2, 3프레그먼트마다 1, 2, 3 클래스를 만들어줍시다.

 

그 후에는 마지막으로 MainActivity를 만들어주면 됩니다!!

 

MainActivity.kt

btn1.setOnClickListener {
    supportFragmentManager.beginTransaction()
        .replace(R.id.view, OneFragment())
        .commit()
}
// 버튼1을 눌렀을 때 beginTransaction()을 이용해 Fragment를 만들어주고, OneFragment로 대체해준다.

btn2.setOnClickListener {
    supportFragmentManager.beginTransaction()
        .replace(R.id.view, TwoFragment())
        .commit()
}
btn3.setOnClickListener {
    supportFragmentManager.beginTransaction()
        .replace(R.id.view, ThreeFragment())
        .commit()
}

 

 

이제 실행해주면..!

 

 

누가 찍었는지 사진들이 참 예쁘네요 😚

 

 

 

 

 

 

 

 

<참고한 강의>

hyogeun-android.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EA%B0%95%EC%9D%98-8-Fragment%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%9E%90?category=831353

 

안드로이드 강의 8. Fragment를 사용하자!

안녕하세요~ 효그니에여>< 뭔가 피곤한 하루네요. 이번차시에는 Fragment에 대하여 알아볼건데요! 안드로이드에서는 화면을 바꿀때 두가지 방법이 제공되요! 하나는 화면 하나를 구성하고있는 액

hyogeun-android.tistory.com

 

 

developer.android.com/reference/android/view/LayoutInflater

 

LayoutInflater  |  Android 개발자  |  Android Developers

 

developer.android.com

developer.android.com/training/basics/fragments/fragment-ui?hl=ko

 

유연한 UI 빌드  |  Android 개발자  |  Android Developers

다양한 화면 크기를 지원하도록 애플리케이션을 디자인할 경우 프래그먼트를 다양한 레이아웃 구성에서 다시 사용하여 사용 가능한 화면 공간에 따라 사용자 환경을 최적화할 수 있습니다. 예

developer.android.com

 

<추가로 보면 좋을 android developer>

developer.android.com/guide/fragments/communicate#pass-between-fragments

 

728x90

댓글