티스토리 뷰
뷰(View)란?
-화면에 보이는 각각의 것들(버튼,텍스트 등등)
-흔히 콘트롤이나 위젯이라 불리는 UI 구성요소
- 뷰 그룹(View Group)
- 뷰들을 여러 개 포함하고 있는 것
- 뷰 그룹도 뷰에서 상속하여 뷰가 됨.즉, 위의 뷰는 버튼,텍스트 뿐만 아니라 이것들을 포함하는 눈에 보이지 않는 영역을 포함한다.
뷰와 뷰 그룹의 관계
뷰그룹 -> 뷰 상속 -> 뷰그룹 -> 뷰 상속
서로를 포함 시킬 수 있다는것을 알고 갈것!
위젯(Widget)
- 뷰 중에서 일반적인 컨트롤의 역할을 하고 있는것
- 버튼, 텍스트 등등
레이아웃(Layout)
- 뷰 그룹 중에서 내부에 뷰들을 포함하고 있으면서 그것들을 배치하는 역할을 하는것.
- 레이아웃안에 또다시 레이아웃을 들어 갈수 있다
상속(Extends)
클래스 안에 변수와 메소드
extends 키워드 사용 Activity는 안드로이드의 화면이라고 생각하면 된다.
예) public class MainActivity extends AppCompatActivity
xml 파일의 구조
<시작 태그
속성 1 = "속성값1"
속성 2 = "속성값2"
</끝 태그>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text = "hello world!" />
- 가끔 시작 태그의 이름에 ~.~.~ 으로 들어갈 때가 있는데, 패키지 이름까지 넣어 주는경우이다. 안드로이드 안에 포함된것들은 .을 써서 참조를 안해주어도 되는데, 외부 라이브러리를 사용할 경우 저렇게 사용한다.(외부라이브러리 사용한것)
필수 속성은?
1. layout-width(wrap-content,match-parent) , 2. layout-height(wrap-content,match-parent) 무조건 -> 있어야한다.
2. 맨앞에 android: 이것은 안드로이드 자체 내에서 있는 API 사용하겠다는 것이다.
3. 왜 필수 속성일까? 무조건 가로,세로 크기가 있어야지 생성이 가능하다.
(제약 레이아웃)ConstraintLayout은 해야할 역할이 정해져 있다. match-parent를 지원 하지 않는다고 생각하면 된다.
1. match-parent: 뷰 그룹에 남아 있는 여유 공간을 채움.
2. wrap_content: 뷰에 들어있는 내용물의 크기에 따라 뷰의 크기가 결정됨.
3. 크기 값 고정 : 크기를 고정된 값으로 직접 지정하고 싶을 때 사용함
ex) "100px","200pb"
-> 이러한 고정값을 바꾸고 싶을 때,
<xml 파일에서>
xmlns : 하나의 파일에는 하나씩 들어가있는 정보이다.지워도된다.
tools : 삭제 해도 된다.
LinearLayout
<LinearLayout
반드시 android:orietation = "vertical"> 속성이 와야한다.
이때, 버튼을 만들어서 match-parent를 하면 화면에 버튼이 꽉채워지는것을 볼 수 있다.
왜? 레이아웃이 바꼈기 때문에.
예)
12345678910111213141516171819 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:orientation="vertical" ><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button" /></LinearLayout>cs
dp 상대적인 단위 vs px 픽셀 단위(해상도에 따른, 단말에 따라 다르다)
사용자가 화면에서 볼 때는 거의 비슷하게 만들어 주는것이 dp(일반적으로 권장)
View 그룹 안에 View 넣기
Layout안에 layout이 들어 갈 수 있다.
'Android' 카테고리의 다른 글
[Android] 레이아웃과 기본 위젯 사용하기(layout 속성알아보기) (0) | 2017.09.20 |
---|---|
[Android] 제약 레이아웃 사용하기(ConstraintLayout) (0) | 2017.09.20 |
[Android]기본적인 구성 파악 및 단축키 (0) | 2017.09.19 |
[Android] 여러가지 화면 구성해보기 (액티비티) (0) | 2017.09.19 |
[Android] 안드로이드 App 만들기 시작 (0) | 2017.09.19 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 학교
- 백준
- 스프링
- 감자개발자
- Algorigm
- 리버싱
- 프로그래밍
- 알고리즘
- Android
- 머신러닝
- 안드로이드
- 코드엔진
- C langauge
- 개발하는 관광이
- node
- 노드
- db
- node.js
- programming
- 초보자를 위한 C언어 300제
- 복습
- TensorFlow
- Controller
- MVC
- C언어
- 감자코딩
- 백준알고리즘
- Spring
- BFS
- 텐서플로우
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함