티스토리 뷰

  • 뷰(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를 하면 화면에 버튼이 꽉채워지는것을 볼 수 있다.
왜? 레이아웃이 바꼈기 때문에.

예)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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" >
 
 
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />
</LinearLayout>
cs

  • dp 상대적인 단위 vs px 픽셀 단위(해상도에 따른, 단말에 따라 다르다)
사용자가 화면에서 볼 때는 거의 비슷하게 만들어 주는것이 dp(일반적으로 권장)

  • View 그룹 안에 View 넣기
Layout안에 layout이 들어 갈 수 있다.






공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함