User Interface

Park Jae Hong·2022년 9월 4일
0

Layout 구현

구현 순서

  • Layout 분석
    : padding,margin, view 위치, 화면에 보이는 line 수 등 자세하게 분석

  • Layout, View 선택
    : 상황에 맞는 Layout, View 적절히 선택하기

  • 속성 사용
    : 상황에 맞는 속성 사용

Layout 종류

LinearLayout (선)

: 방향을 수평 또는 수직 둘중 결정하여 배치하는 레이아웃으로써 가장 기본적으로 사용되는 레이아웃

RelativeLayout (관계,상대)

: 사전적인 의미로 상대적인 이라는 의미를 담고 있는 레이아웃으로써 다른 요소들에 의해 상대적으로 위치가 결정되는 레이아웃이다, 이 레이아웃은 서로 뷰간 연결고리가 있어 위치를 결정함에 있어 서로 연결되어 위치가 결정된다. (View 끼리 겹칠수 있다.

FrameLayout (액자)

: 프레임, 액자라는 의미로 컨텐츠들이 겹겹이 쌓여 제일 앞에 놓여있는 컨텐츠가 사용자에게 보이는 형태로 구성하는 레이 아웃

ContraintLayout (강제, 앵커)

: ConstraintLayout을 사용하면 플랫 뷰 계층 구조(중첩 뷰 그룹이 없음)로 크고 복잡한 레이아웃을 만들 수 있다. 동위 보기와 상위 레이아웃 사이의 관계에 따라 모든 보기의 레이아웃이 결정된다는 점에서 RelativeLayout과 비슷하지만, RelativeLayout보다 유연하고 Android 스튜디오의 Layout Editor와 함께 사용하기가 더 쉽다.

  • 장점
    계층이 하나로 만들수 있어서 메모리 적으로 효율적이다.
    화면을 전환했을 때 앵커로 연결되어 있어서 비율이 유지된다.

    ❗모든 Layout 대신 ContraintLayout쓰라고 권장하고 있음

FrameLayout Issue 와 ContraintLayout 개념 및 사용법


Style & Theme

Style

  • 점 표기법
    : 필요한 style 을 점(.) 형태로 구분해서 상속받아 사용.

  • parent 표기법
    : 필요한 style 을 parent 라는 속성을 통해 직접 상속 받아 사용.

❗parent 표기법은 material(Android가 지원하는 Style) 을 사용할 때 사용하면 가독성이 좋다.

Theme

: Style의 정의가 확실하게 완료되었을 때, App 전체에 적용할 때 사용.


Activity

  • Activity 를 만드는 Class는 어떤 기능을 제공하는가 ?

  • 계층구조 확인 (control + h)

  • 생명주기는 어디서 관리 하는가 ?, this를 전달하는데 왜 context가 전달이 되는가 ?


Stack 을 직접 구현 해야하는 이유

: 데이터의 갯수를 미리 지정해야 해서 만약 크기를 1000으로 지정하고 3 만큼만 사용하면 997의 데이터 낭비가 발생될 수 있다.

profile
The people who are crazy enough to think they can change the world are the ones who do. -Steve Jobs-

0개의 댓글