안드로이드 View
뷰는 화면상에서 유저 인터페이스를 구성하는 녀석입니다.
뷰가 여러개가 모여서 Activity가되고 Activity가 여러개 모여 하나의 앱이 나오게 됩니다.
Button, ImageView, TextView, EditText, RadioButton, CheckBox 등의 기본적인 화면 구성 요소들이 뷰에 포함됩니다. 또한 WebView, Map, Video등을 표시하는 고급 구성 요소들도 모두 뷰에 포함됩니다.
그리고 뷰는 이벤트를 통해서 사용자로 부터 입력을 받아 들일 수 있습니다.
쉽게 말해서 “View는 유저에게 보여지는 하나의 화면 단위” 라고 생각하시면 됩니다. 그리고 View를 상속받은 녀석들은 모두 “아하! 이 녀석은 View를 상속받았으니 유저들이 볼수 있는 녀석이구나” 라고 생각하셔도 됩니다.
다음은 View에서 사용되는 속성들 입니다. 굉장히 많은 속성들이 있지만 자주사용되는 속성과 자주 사용되지 않는 속성들이 있습니다. 일단은 자주 사용되는 속성들 위주로 보시고 나머지는 공부하시면서 하나씩 보시면 되겠습니다.
고유 식별자( android:id )
해당 뷰를 유일하게 식별하기 위한 값입니다. xml안에 해당 id값을 문자열로 설정하게 되면 어플리케이션이 컴파일 될때 정수로써 레퍼런스 됩니다.
xml태그에서 id값 설정
android:id="@+id/my_btn"
- @ : XML 구문분석기가 문자열을 분석하여 해당 문자열이 ID 리소스로써 사용되어야 한다는 것을 지시하는것입니다.
- + : (R.java 파일에) 새로운 리소스 이름을 추가해야 한다는것을 의미 합니다.
cf) id문자열에 '+'가 없는경우는 기존에 선언된 id값을 사용하겠다는 의미 입니다.
- android:id="@id/test" --> 먼저 test라는 id가 미리 선언되어야 하며 선언된 id중 test를 사용하겠다라는 뜻입니다.
크기 ( android:layout_width, android:layout_height)
뷰의 폭과 높이를 설정합니다. 미리 정의된 값을 넣을수도 있으며 사용자가 직접 크기를 입력할 수도 있습니다.
미리 정의된 속성값
- match_parent - 부모의 주어진 크기를 다 채운다.
- fill_parent - 부모의 주어진 크기를 다 채운다.
- warp_content - 내부에 있는 뷰만큼 크기를 맞춘다.
사용자가 직접 크기를 입력할때는 숫자와 단위를 반드시 포함하여야 합니다.
- 안드로이드에서 사용되는 단위
px |
픽셀 |
in |
인치 |
mm | 밀리미터 |
pt | 포인트 |
dp(dip) |
밀도에 따른 크기 |
sp(sip) | 폰트의 가변적 크기 |
위의 단위들은 모든 속성에 공통적으로 사용가능 합니다.
(참고사이트- http://developer.android.com/guide/topics/resources/more-resources.html#Dimension )
패딩(android:padding)
- 뷰와 뷰안에 포함된 뷰의 간격을 설정합니다. 즉 안쪽 여백입니다. padding를 사용하여 상하좌우에 대해 동일한 값을 한번에 지정해 줄수 있으며 paddingTop, paddingBottom, paddingLeft, paddingRight를 사용하여 각각 개별적으로 여백 설정이 가능합니다.
마진(android:layout_margin)
- 부모뷰와 자신과의 간격을 설정합니다. 즉 바깥쪽 여백 입니다. layout_margin를 사용하여 상하좌우에 대해 동일한 값을 한번에 지정해 줄수 있으며 layout_marginTop, layout_marginBottom, layout_marginLeft, layout_marginRight를 사용하여 각각 개별적으로 여백 설정이 가능합니다.
그외 굉장히 많은 녀석들이 있습니다. 아래 링크에서 확인하시면 많은 도움이 되실겁니다.
http://developer.android.com/reference/android/view/View.html
View 관련 팁
덧글]
개발하시다가 온몸이 찌뿌둥하시면 아래 동영상을 따라 스트레칭을 한번하세요.
1. 목디스크 예방을 위한 목운동 ☞ http://jwandroid.tistory.com/192
2. 손목터널증후군 손목스트레칭으로 예방합시다. ☞ http://jwandroid.tistory.com/193
3. 개발자 여러분 허리를 세우세요 - 척추체조 1번 ☞ http://jwandroid.tistory.com/194
4. 개발자 여러분 허리를 세우세요 - 척추체조 2번 ☞ http://jwandroid.tistory.com/195
5. 개발자 여러분 허리를 세우세요 - 척추체조 3번 ☞ http://jwandroid.tistory.com/196
6. 개발자 여러분 허리를 세우세요 - 척추체조 4번 ☞ http://jwandroid.tistory.com/197
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드/Android]안드로이드 레이아웃 LinearLayout (0) | 2012.05.09 |
---|---|
[안드로이드/Android]안드로이드 레이아웃 (2) | 2012.05.09 |
[안드로이드] 안드로이드 Failed to install timeout (1) | 2012.05.08 |
[안드로이드/Android] 안드로이드 ViewGroup (0) | 2012.05.07 |
[안드로이드/Android] 안드로이드 인텐트 - 2 (0) | 2012.05.07 |
[안드로이드/Android] 안드로이드 - 리소스 (1) (0) | 2012.05.07 |
[안드로이드] 안드로이드 - 리소스 (2) (0) | 2012.05.07 |
[안드로이드/Android] 안드로이드 권한(Permission) 종류 (3) | 2012.05.04 |
[안드로이드/Android] 안드로이드 전화 수신 이벤트 체크하기 (1) | 2012.05.04 |