안드로이드
[Android] 테이블 레이아웃, Table Layout
테이블 레이아웃은 표, 엑셀 형태의 격자 모양의 화면을 구성하는 레이아웃이다. 테이블 레이아웃은 TableRow라는 태그가 여러 개 들어가는데 한 행을 의미한다. 이 행에는 여러 개의 뷰가 들어갈 수 있고, 하나의 뷰가 각각의 열이 된다. 테이블 레이아웃은 최상위 레이아웃으로 쓰는 것이 아니라, 부모 컨테이너 안에서 사용하는 레이아웃이다. 이 때, TableRow의 layout_height가 match_parent로 되어있는데, 내부적으로 항상 wrap_content로 설정되어있다. 그리고 layout_width는 내부적으로 항상 match_parent로 설정되어있다. 각 테이블 레이아웃에 버튼들을 추가하면 다음처럼 화면이 구성된다. 뷰들의 layout_width와 layout_height가 match_..
[Android] 상대 레이아웃, Relative Layout
상대 레이아웃으로 만들 수 있는 것들은 제약 레이아웃(Constraints Layout)으로 만들 수 있으므로 상대 레이아웃 사용은 권장되지는 않는다. 그러나 상대 레이아웃으로 만들어진 코드를 이해해야 하려면 알고 있어야 한다. 상대 레이아웃은 부모 컨테이너 혹은 다른 뷰와의 상대적인 위치를 통해 뷰의 위치를 결정할 수 있다. 이 때 뷰들의 id를 통해 상대적인 위치를 결정한다. layout_alignParent 속성과 layout_above, layout_below 등의 속성을 사용한다. 제약 레이아웃에 익숙해져 있어서 조금 낯설게 느껴졌지만 비슷하다. 제약 레이아웃이 더 많은 기능을 지원하므로 제약 레이아웃을 쓰는 것을 권장한다고 한다.
[Android] 리니어 레이아웃, Linear Layout
리니어 레이아웃 방향 설정 리니어 레이아웃은 한 쪽 방향으로 뷰를 쌓는다. 따라서 리니어 레이아웃에는 필수 속성으로 방향을 설정해 주어야 한다. orientation 속성을 사용하고 가로 방향으로 쌓을 때는 horizontal, 세로 방향으로 쌓을 때는 vertical로 설정한다. 디폴트 값은 horizontal인 것 같다. 그래도 가독성을 위해서는 써 주는게 좋을 것 같다. ※ 최상위 레이아웃을 바꾸고 싶을 경우 xml 코드를 바꿔서 수정할 수도 있지만 Convert view를 사용해서 쉽게 바꿀 수 있다. 뷰의 크기 관련 속성 layout_width와 layout_height는 dp로 크기를 지정할 수도 있지만 match_parent, wrap_content로 지정할 수 있다. 이 때, match_p..
[Android] 레이아웃의 종류
레이아웃의 종류 제약(Constraint) 레이아웃 : 제약 조건 기반, 연결선을 제약조건으로 한다. 안드로이드 스튜디오 디폴트 레이아웃 리니어(Linear) 레이아웃 : 한 쪽 방향으로 차례대로 뷰를 추가한다. 뷰가 차지하는 사각형 영역을 나타낸다. 리니어 레이아웃은 어느 쪽 방향으로 뷰를 추가할 지에 대한 orientation 속성이 필수이다. 상대(Relative) 레이아웃 : 제약 레이아웃을 사용하면서 권장하지 않는다. 부모 컨테이너 혹은 다른 뷰와의 상대적 위치로 화면을 구성한다. 프레임(Frame) 레이아웃 : 싱글 모델. 가장 상위에 있는 하나의 뷰 또는 뷰 그룹만 보여준다. 여러 개의 뷰가 들어가면 중첩하여 쌓이게 된다. 테이블(Table) 레이아웃 : 격자(Grid) 모델. HTML에서 ..
[Kotlin]2020-여름 안드로이드 첫 앱. 알람메모-Alamemo
학교 동아리에서 졸업한 후 현업에 계신 선배님들이 코딩에 대한 멘토링을 해 주는 좋은 기회가 생겼다. 여러가지가 있었는데 웹, 안드로이드, 알고리즘 등등이 있었다. 1순위 2순위를 정할 수 있었는데 당시에 2학년이기도 했고 뭔가 무작정 만들어보고 싶어서 1순위를 웹, 2순위를 안드로이드로 했었다. 웹을 하겠다는 사람이 꽤 많았어서 그런지 안드로이드를 하게 됐다. 사실 예전부터 안드로이드에 관심이 많았어서 안드로이드에 대한 앱을 제대로 만들어 보고 싶었다. 알람메모 - Alamemo – Apps on Google Play Manage your schedule and memo at once, make the schedule sound as an alarm, and pin your memo to the top..