본문 바로가기

Programming/Android

(20)
3. 사용자 인터페이스 구현 (3) - 뷰의 기초 공통 속성 3 ○ margin, padding  잘 알고 있겠지만, margin은 뷰와 뷰 사이의 간격을 지정하는 속성입니다. 그리고 padding은 뷰 내부에서 뷰의 콘텐츠(내용)와 뷰의 테두리 사이의 간격을 지정하는 속성입니다. 뷰는 기본적으로 margin과 padding이 디폴트로 정해져 있는 값이 있는데, 해당 속성을 직접 지정함으로써 이를 변경할 수 있는 것이죠.  기본적으로 margin과 padding 속성 값을 지정하게 되면 네 방향 간격이 모두 같은 크기로 설정됩니다. 상/하/좌/우를 각각 단일 방향으로 조정하고 싶다면, 아래와 같이 속성을 지정해야 합니다.  · 단일 방향 margin 속성 - layout_marginLeft, layout_marginRight, layout_marginTop, layo..
3. 사용자 인터페이스 구현 (3) - 뷰의 기초 공통 속성 2 앞서 살펴본 id 속성에 이어서, 계속해서 뷰의 공통 속성을 살펴보도록 하겠습니다. ○ layout_width, layout_height 뷰의 화면 표시를 위한 속성 중 size(크기)는 필수 속성입니다. 선언하지 않으면 에러가 발생하게 되죠. 기본적으로 아래와 같은 형식으로 선언하게 됩니다. 기본적으로 크기를 지정하는 속성 값은 아래와 같이 네 가지로 지정할 수 있습니다. · match_parent · fill_parent · wrap_content · 100px match_parent와 fill_parent는 의미상 동일해 결과는 같습니다. 기본적으로 해당 속성이 적용된 뷰는, 부모 계층의 뷰가 지정한 크기에 꽉 들어차도록 자동으로 결정하게 됩니다. 뷰 계층 구조는 추후 따로 살펴볼 예정이니, 여기서..
3. 사용자 인터페이스 구현 (3) - 뷰의 기초 공통 속성 1 레이아웃 XML로 UI를 구성한다고 가정했을 때, 각각의 뷰 태그에는 여러가지 속성을 부여해 값을 조정할 수 있습니다. HTML의 태그 별 속성을 떠올리시면 쉽게 이해가 되실 것입니다. 이번 아티클에서는 가장 기본적이면서도 자주 사용하게 되는 뷰 - TextView를 기준으로 뷰 클래스의 공통적인 속성에 대해서 하나씩 살펴보도록 하겠습니다. ○ id 속성 id 속성은 필수 속성은 아닙니다. 각각의 뷰를 식별할 수 있는 구분자로 사용되는데, 이를 자바 코드에서 불러와 컨트롤하는데 사용하게 됩니다. 앞서서 setContentView( ) 함수에 대해서 살펴보았는데, 이와 연계하여 화면을 구성하는 데 사용하게 되죠. setContentView( ) 함수 호출 → 레이아웃 XML 호출 → XML에 선언해둔 객체..
3. 사용자 인터페이스 구현 (2) - UI 작성법 : JAVA vs XML [2/2] 앞선 아티클에서 우리는 자바 코드만으로 레이아웃에 뷰를 적용하고, 이를 출력하는 실습까지 진행해 보았습니다. 3. 사용자 인터페이스 구현 (2) - UI 작성법 : JAVA vs XML [1/2] 안드로이드 프로그래밍에서 UI를 만드는 방법은 이론적으로는 자바 코드로 직접 작성하기, 레이아웃 XML로 작성하기 - 이렇게 두 가지 방법이 있습니다. 물론 실제로는 대부분 레이아웃 XML을 활 nozeroslope.tistory.com 이번에는 익숙한(?) 방식인 XML을 사용해 UI를 구성하는 방법에 대해서 살펴보도록 하겠습니다. 이번에는 이전 아티클에서 생성했던 모듈에서, MainActivity는 그대로 두고 새로운 액티비티를 추가로 생성해서 진행해 보겠습니다. 프로젝트 메뉴에서 패키지명 com.examp..
3. 사용자 인터페이스 구현 (2) - UI 작성법 : JAVA vs XML [1/2] 안드로이드 프로그래밍에서 UI를 만드는 방법은 이론적으로는 자바 코드로 직접 작성하기, 레이아웃 XML로 작성하기 - 이렇게 두 가지 방법이 있습니다. 물론 실제로는 대부분 레이아웃 XML을 활용하는 것이 사실이지만, 기본적인 원리를 학습하는 차원에서 두 가지 방법 모두 학습해 보도록 하겠습니다. ○ 자바 코드 사용 자바 코드를 통해서 화면을 구성하게 되면 - 레이아웃 XML을 사용하지 않고, 자바 코드만으로 뷰 생성을 진행하고 메서드를 활용해 뷰의 속성 등을 일일이 지정하게 됩니다. 그리고 이렇게 준비한 뷰를 setContentView( ) 함수의 파라미터로 넘기는 방식으로 화면을 구현하게 됩니다. 안드로이드 스튜디오를 실행하고, 우리가 앞서서 사용한 AndroidLab 프로젝트를 다시 활용해 봅시다...
3. 사용자 인터페이스 구현 (1) - UI 기본 구조 우리는 안드로이드 기본 구조에 대해서 살펴보면서 안드로이드는 컴포넌트(component) 기반의 개발을 진행한다는 것을 살펴보았습니다. 컴포넌트가 없는 안드로이드 앱이라는 것은 존재할 수 없으며, 런타임(runtime) 때 컴포넌트 클래스가 실행되지 않는다는 것은 앱 자체가 실행되지 않는 것을 의미하죠. 컴포넌트 개념이 가물가물하다면, 다시 한번 되짚어보고 오겠습니다. 2. 안드로이드 기본 구조의 이해 (2) - 컴포넌트(component) 1 안드로이드의 큰 특징이자, 안드로이드 아키텍처 이해에 있어서 중요한 컴포넌트(component)에 대해서 살펴보도록 하겠습니다. 1. 컴포넌트는 앱의 구성단위이다 컴포넌트는 안드로이드 앱을 구성 nozeroslope.tistory.com 네 개의 컴포넌트(액티비티..
2. 안드로이드 기본 구조의 이해 (6) - 기본 샘플 app 모듈 분석 [3/3] 이번 아티클에서는 앞선 아티클에서 이어서 MainActivity클래스 파일에 대한 구조적인 설명을 진행하도록 하겠습니다. 2. 안드로이드 기본 구조의 이해 (6) - 기본 샘플 app 모듈 분석 [2/3] 앞선 내용에서 이어서 계속 살펴보도록 하겠습니다. 2. 안드로이드 기본 구조의 이해 (6) - 기본 샘플 app 모듈 분석 [1/2] 우리가 안드로이드 스튜디오에서 기본적으로 프로젝트를 하나 생성하게 nozeroslope.tistory.com ▷ MainActivity.java 파일을 살펴보겠습니다. 유저가 해당 샘플 모듈(앱)을 실행하였을 때, 실행되는 액티비티 클래스죠. 화면의 구현과 정의를 목적으로 합니다. package com.example.androidlab; import androidx.ap..
2. 안드로이드 기본 구조의 이해 (6) - 기본 샘플 app 모듈 분석 [2/3] 앞선 내용에서 이어서 계속 살펴보도록 하겠습니다. 2. 안드로이드 기본 구조의 이해 (6) - 기본 샘플 app 모듈 분석 [1/2] 우리가 안드로이드 스튜디오에서 기본적으로 프로젝트를 하나 생성하게 되면, 해당 프로젝트에 [app]이라는 기본 모듈이 하나 생성됩니다. 아시다시피 "Hello Wolrd"를 출력하는 기본 샘플인데요, nozeroslope.tistory.com ▷ 위 내용 중, 태그 내에 작성된 속성 값 중 아래와 같은 형식으로 작성된 부분을 찾을 수 있습니다. android:icon="@mipmap/ic_launcher" android:label="@string/app_name" 위 두 개의 값은, 안드로이드 앱이 설치되었을 때 앱의 아이콘 이미지 그리고 앱의 이름을 출력하는 속성입니다...