로그인 페이지는 한 페이지에서 두 개의 엑티비티가 작동하기 때문에 Fragment
를 이용해서 만들어주면 된다.
SignInFragment
생성 : 아이디, 비밀번호 edittext
및 로그인 버튼 생성SignUpFragment
생성로그인 페이지에서 위의 fragment
를 합칠 layout
을 생성해주고 로그인과 회원가입 button
을 생성해주고 나머지 fragment
는 FrameLayout
으로 설정해주면 된다.
view
변수를 생성해주고activity
로부터 오는LayoutInFlater
이 표시된 메모리에 객체화시키기 위해 inflate를 이용해서 설정해주면 된다.
fragment
를 이용하기 위해 activity
를 설정하기 들어가기 앞서서 Fragment
를 추가하거나 교체하는 방법에 대해서 정리해보자.
1. Fragment 인스턴스 생성
val fragment = MyFragment()
2. FragmentTransaction 시작
val fragmentManger = supportFragmentManager val transaction = fragmentManager.beginTransaction()
3. FragmentTransaction에 추가 or 교체할 Fragment 추가
transaction.replace(R.id.표시할 레이아웃 아이디, 표시할 fragment)
4. FragmentTransaction 커밋
transaction.commit()
suportFragmentManager
는 Fragment
의 관리를 도와주는 클래스로 Fragment
를 추가, 제거, 교체 관리한다.
그럼 SignInActivity
에서 Fragment
를 교체하는 코드는 이렇게 하면 된다. 로그인 / 회원가입 상단 버튼을 누르면 해당 버튼에 따라 fragment
가 SignIn/SignUpFragment
로 전환이 된다.
선택한 버튼의
backgroundTintList
의 색상 변경을 위해getColorStateList
를 이용해주면 된다.
진짜..거짓말...귀여운 웰시코기 어디갔지..?? 당황스러워서 혹시나 layout 배치가 잘못되었는지 확인하고 사진 크기가 너무 큰가 싶어서 줄여봤지만 모두 소용이 없었다..
궁현님께서 알려주셨는데, tools:src = ""
이 부분을 android:src = ""
로 변경하니 제대로 imageView
가 나타났다.. 세상에!! 감사합니다 !!