뷰는 총 두가지로 분류가 된다.
뷰그룹과 뷰
뷰그룹은 뷰들을 포함하는 컨테이너 개념이고 뷰들은 컨테이너 안의 각각의 화물같은 개념이다.
이런 개념이다.
이렇게 각각의 뷰들이 크기와 속성이 다 다르다.
그중 뷰의 가장 기본적인 속성들에 대해서 알아보자.
1. id
각각의 뷰들은 id를 가지고 있다. 이 id를 통해서 자바 소스에서 불러와 속성을 바꿀수도 있고
다른 뷰들의 상대적 위치 지정에도 사용이 된다.
ex)
1
|
android:id="@+id/container"
|
cs |
2. 뷰의 위치와 크기
뷰를 만들었다면 그 뷰의 크기를 지정해주어야만 뷰를 볼수가 있다.
뷰의 크기를 지정하는 방법은 크게 3가지가 있다.
match_parent, wrap_content, 숫자로 지정
match_parent는 말그대로 부모 뷰의 크기와 똑같이 맞춘다는것이다.
wrap_content는 안의 내용물에 맞춰서 크기를 지정한다는 것이다.
숫자로 지정하는것은 일정 수치의 숫자로 지정해 크기를 지정하는것이다.
그 수치에는 크게 px, dp, sp, pf, mm, in 있다. 각각의 의미를 찾아보자.
px | 화면의 실제 픽셀을 나타낸다. 이건 기기의 화면비율이 달라져도 항상 그대로를 유지하기 때문에 그렇게 권장되지는 않는다.(절대적인 느낌) |
dp | 이건 뭐 사실 정확한 수치가 어떻게 되는지는 모르겠지만 이걸로 설정하게 되면 기기의 화면 크기가 달라져도 항상 일정한 크기를 유지한다고 한다.(상대적인 느낌) |
sp | 화면의 크기와 사용자가 지정한 폰트 크기에 영향을 받아서 변환된다. 폰트 크기를 지정하는 경우에 이걸 쓴다고 한다. |
pt | 1/72 인치를 표시한다. |
mm | 밀리미터를 나타낸다 |
in | 인치를 나타낸다. |
3. 색상
뷰의 배경색을 바꾸거나 하려면 background라는 속성을 써야 한다.
여기에 색상을 넣을때는 html과는 다르게 blue이렇게는 색상이 입력이 안되고 무조건 html 색상 표에 나와 있는 코드만을 사용해서 색상을 표현할수 있다.(해봤음)
4. 보여주기
뷰를 만들게 되면 일단 기본적으로 visibility속성에 디폴트로 visible(0)으로 값을 넣어서 우리가 볼수 있게 해준다.
이처럼 visibility 속성에 값을 우리가 임의로 설정할수도 있는데 어떻게 설정하느냐에 따라서 달라진다.
visible(0) | 화면에 보이게 하는것(디폴트 값) |
invisible(1) | 표시되지 않는다. 그러나 배치에서 공간을 차지한다(보이지만 않는것임) |
gone(2) | 완전히 숨겨준다. |
ex)
1
|
android:visibility="visible"
|
cs |
5. 마진과 패딩
이 부분은 html과 매우 유사하다. 마진은 뷰와 뷰 사이의 거리를 뜻하고
패딩은 뷰안의 내용물과 뷰테두리 사이의 거리를 뜻한다.
패딩을 쓸떄는 padding을 쓰면 되고 margin은 layout_margin을 사용해야 한다.
이것도 html처럼 left, right, top, bottom의 margin과 padding을 따로 설정해줄수가 있다.
padding을 자바소스에서 쓰는 방법은 setPadding(int 왼쪽, int 오른쪽, int 위, int 아래) 순으로 숫자를 집어 넣으면
설정을 해줄수가 있다.
ex)
1
2
|
android:layout_margin="30dp"
android:padding="10dp"
|
cs |
'코딩일기 > android studio' 카테고리의 다른 글
안드로이드 독학 3일차 : EditText (0) | 2021.03.03 |
---|---|
안드로이드 독학 3일차 : 텍스트 뷰 (0) | 2021.03.03 |
안드로이드 독학 2일차 : 매니페스트 파일 분석 (0) | 2021.02.26 |
안드로이드 독학 2일차 : UI 구성하는 방법 (0) | 2021.02.26 |
안드로이드 독학 2일차 : 자바 소스 관찰 (0) | 2021.02.26 |