로그인 바로가기 하위 메뉴 바로가기 본문 바로가기
난이도
심화

안드로이드 앱 프로그래밍

임시 이미지 정재곤
http://www.boostcourse.org/mo316/notice/2562
좋아요 1436 수강생 20099
아래의 글은 BOOSTER 서포터즈로 활동했던 bmj0***님이
작성한 부스트코스 후기입니다.
여러분들의 성원에 더 노력하는 부스트코스가 되겠습니다.
감사합니다.
******************************************
1)링크: https://blog.naver.com/bmj0178/221768795232
2)작성날짜: 20/01/12
<본문작성>

1) 뷰의 속성


학습 목표

1. 뷰(view)란?

2. 뷰의 기본 속성에는 어떤 것이 있을까?

학습하기

1. 뷰와 뷰그룹의 정의

-화면 안에 들어가는 각각의 화면 구성요소

뷰그룹

-뷰를 담고 있음

-뷰를 상속받기 때문에 뷰그룹 또한 뷰가 될 수 있음

위젯

-뷰 중에서 컨트롤 역할을 하며 눈에 보이는 것(버튼, 텍스트)

레이아웃

-뷰 그룹 중 내부에 뷰들을 포함하고 있으면서 그 뷰들을 배치하는 역할을 하는 것

**레이아웃 안에 레이아웃 포함시키기

그림1을 보면 레이아웃레이아웃#1-1#1-2포함되어 있다. 뷰그룹은 뷰를 상속받기 때문에 뷰라고 할 수 있으며, 따라서 레이아웃#1-1과#1-2는 뷰로 뷰그룹인 레이아웃에 포함될 수 있다. 레이아웃#1-1은 뷰그룹으로 위젯(뷰)인 버튼을 포함하고 있다.

그림1

2. 상속의 정의

public class MainActivity extends AppCompatActivity

MainActivity : AppCompatActivity를 상속받음

AppCompatActivity : Activity(안드로이드의 화면)의 한 종류

3. XML 레이아웃의 구성

-뷰 태그<></> 속성 = "속성값" 형식

**태그 구분

1. <androidx.constraintlayout.widget.ConstraintLayout>

- 직접 만들거나 외부 라이브러리를 쓸 때, 패키지 이름까지 넣어준 것(cf.app:)

2. <TextView>

- 안드로이드가 제공하는 API안에 포함되어 있는 것 (cf. android:)

4. 가로크기와 세로크기 특성

-모든 뷰는 필수속성으로 LAYOUT WIDTH, LAYOUT HEIGHT를 갖는다(속성 제거시 에러).

*xmlns:android="http://schemas.android.com/apk/res/android : 안드로이드 api 갖다 쓰겠다.

*기본 레이아웃 : ConstraintLayout

(1) wrap_content : 뷰에 들어있는 내용물의 크기에 따라

<androidx.constraintlayout.widget.ConstraintLayout ...>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

</androidx.constraintlayout.widget.ConstraintLayout>

(2) match_parent : 뷰그룹의 여유공간을 꽉 채움

-LinearLayout에서 적용 가능함, 기본 레이아웃에서는 적용 안됨

<LinearLayout ...>

<Button

android:layout_width="match_content"

android:layout_height="match_content"

/>

</LinearLayout>

(3) 크기 값 지정

<LinearLayout ...>

<Button

android:layout_width="200dp"

android:layout_height="wrap_content"

/>

</LinearLayout>

**dp 또는 dip : 160dpi 화면을 기준으로 한 픽셀(비율)

sp 또는 sip : text에서 dp 와 같은 역할

wrap_content match_parent 크기 값 지정

생각해보기

1.버튼에는 얼마나 많은 속성이 들어 있을까요?

- 버튼은 텍스트뷰를 상속받았고, 텍스트뷰는 뷰를 상속받았다. 뷰+텍스트뷰+버튼에 해당하는 속성을 지녔다고 할 수 있다.

2.버튼이 텍스트뷰를 상속받아 만들어진 것이라면 버튼을 텍스트뷰라고 말할 수 있는 걸까요?

- 버튼이 텍스트뷰를 상속받아 텍스트뷰의 모든 기능을 포함하고 있으므로, 버튼을 텍스트뷰라고 말할 수 있다.

 

*********************************************