[Andorid,Kotiln] - Fragment

youneeo·2023년 8월 30일
1
post-thumbnail

1. 프래그먼트 개요

❓과연 프래그먼트(Fragment)은 무엇일까?

  • 액티비티 위에서 동작하는 모듈화된 사용자 인터페이스
    • 액티비티와 분리되어 독립적으로 동작할 수 없음
  • 여러 개의 프래그먼트를 하나의 액티비티에 조합하여 창이 여러 개인UI를 구축할 수 있으며,하나의 프래그먼트를 여러 액티비티에서 재 사용할 수 있음

    🤗 프래그먼트의 사용 예시

🤔프래그먼트는 왜 사용할까?

  • Activity로 화면을 계속 넘기는 것보다는 Fragment로 일부만 바꾸는 것이 자원 이용량이 적어 속도가 빠르기 때문
  1. build.gradle에 fragment ~~추가
implementation("androidx.fragment:fragment-ktx:1.5.7")
  1. New > Fragment > Fragment(blank) 추가

    Fragment 또한 Activity이기 때문에 xml파일이 이름에 맞춰서 같이 생성된다.

3.각각의 xml 레이아웃 꾸미기

4.Fragment의 정적추가(xml파일에 선언,동적추가(Kotlin 파일에 선언))

사용예시 (동적추가)

class MainActivity : AppCompatActivity() {

    private val binding by lazy { ActivityMainBinding.inflate(layoutInflater) }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)

        binding.apply {
            fragment1Btn.setOnClickListener{
                setFragment(FirstFragment())
            }
            fragment2Btn.setOnClickListener {
                setFragment(SecondFragment())
            }
        }
        setFragment(FirstFragment())
    }

    private fun setFragment(frag : Fragment) {
        supportFragmentManager.commit {
            replace(R.id.frameLayout, frag)
            setReorderingAllowed(true)
            addToBackStack("")
        }
    }
}
profile
정돈된 공간에서 생각하기를 좋아합니다.

3개의 댓글

comment-user-thumbnail
2023년 8월 30일

정리하자면, 뷰바인딩때처럼 그래들파일에 프래그먼트~~추가 > 프래그먼트 액티비티생성(xml도 같이생성됨) > xml레이아웃 설정 > 프래그먼트 동적추가,정적추가

답글 달기
comment-user-thumbnail
2023년 8월 30일

정리 잘하셨네요! 깔끔합니다

답글 달기
comment-user-thumbnail
2023년 8월 30일

fragment에 자세하게 적어주셔서 참고하기 좋은 것 같아여

답글 달기