본문 바로가기
KUIT-앱 개발 프로젝트 동아리

1주차-Layout 실습

by 농농씨 2023. 9. 24.

실습을 내가 새로 프로젝트 만들었었는데 동아리측에서 기타 필요한 기능들을 이미 만들어놓은 템플릿을 배포해주신 것을 써야 하는 거였다. 그냥 참고용인줄 알았다.

다시 만들어야 한다.

다른 부원들꺼 보고 비교리뷰도 해야한다.

워크북 복습도 빠진부분은 다시 해야할것같다. 제대로 하려고 들어온거니까 제대로 하자.

바쁘다바빠

부지런하게 시작~

 

 

팁) 줄바꿈 자동정렬하기: 안드로이드 스튜디오 상단 메뉴바에서 Code- Reformat Code 메뉴를 누르거나 단축키 Ctl+Alt+L을 누르면 자동정렬이 됩니다.

 

메인화면 레이아웃 만들어주자

스크롤 뷰(ScrollView)안에는 한 개의 뷰(레이아웃, 위젯)만 넣을 수 있다. 하위 레이아웃이 여러개면 전체를 또 하나의 레이아웃으로 감싼 다음에 스크롤뷰로 감싸야 한다.

 

https://deque.tistory.com/140

 

헤더가 찰싹 달라 붙는 스크롤 뷰 (Sticky Scroll View)

Fixed view in scroll view 네이버 앱을 보면 이렇게, 검색창이 위로 올라가다가 맨 위에 도달하면 더이상 올라가지 않고 고정이 된다. 실제로 네이버 앱 내부적으로는 CollapsingToolbarLayout을 이용하고 있

deque.tistory.com

이것도 나중에 해봐야지

 

트러블1)-상단고정

아무생각없이 scrollview로 전체를 감싸고 아 상단을 어떻게 고정하지 하다가

그냥 스크롤뷰 밖으로 고정할부분을 빼면 되는 거였다.

그리고 다시 전체를 constraint로 감싸니 해결.

 

트러블2)-스크롤뷰의 배치

분명 상단바 아래에 스크롤뷰가 위치하게 constraint로 설정해줬는데 되지 않는다~

그래서 그냥 margintop으로 설정해줬다. 굳이 두 레이아웃을 연결지을 필요는 없으니 오히려 이게 더 나을듯 하다.

 

트러블3)-constraint 자녀 문제

회색 선을 상단바 부분 아래에 두려고 했는데 

is not a siblig in the same ConstraintLayout

이라는 오류가 떴다.

검색해보니 다음과 같이 떴다.

https://stackoverflow.com/questions/57196977/notsibling-invalid-constraints

그래서 이번에도 margin으로 해결하려하다가 상위가 ConstraintLayout이어서 

app:layout_constraintTop_toTopOf="70dp"

constraint margin 설정을 해줬다.

 

고민... 그냥 한군데에 뭉쳐있으면 다 linearLayout으로 해주다가 constraintLayout으로 하려니까 그냥 아이디 설정해주고 다 한 계층의 constraintLayout으로 묶어줬다. 뭐가 더 나을까? 어차피 아이디로 하는거면 계층구조를 또 만들 필요가 있을까?

 

느낀점: 중간에 뭐 끼면 하나하나 누구와 관계 이루는지 수정해줘야한다 이럴때 쓰라고 linearLayout이 있는 것 같다.

'KUIT-앱 개발 프로젝트 동아리' 카테고리의 다른 글

4주차 실습 복습  (1) 2023.10.27
4주차 실습-RecyclerView  (0) 2023.10.04
3주차 미션-Bottom Navigation  (1) 2023.10.04
3주차 실습-Fragment  (0) 2023.10.01
2주차-Activity 실습  (0) 2023.09.24