백엔드 개발 공부 일지
Android - Layout 본문
● Layout
안드로이드에서는 여러가지 레이아웃을 제공하는데 사용되는 가장 대표적인 5가지 레이아웃은 다음과 같다.
레이아웃 이름 | 설명 |
제약 레이아웃 (Constraint Layout) |
제약조건 기반 모델 연결선을 제약 조건으로 하여 화면을 구성하는 방법 안드로이드 스튜디오에서 자동으로 설정하는 디폴트 레이아웃 |
리니어 레이아웃 (Linear Layout) |
박스(Box) 모델 한 쪽 방향으로 차례대로 뷰를 추가하여 화면을 구성하는 방법 뷰가 차지할 수 있는 사각형 영역을 할당 |
상대 레이아웃 (Relative Layout) |
규칙(Rule) 기반 모델 부모 컨테이너나 다른 뷰와의 상대적 위치로 화면을 구성하는 방법 제약 레이아웃을 사용하게 되면서 상대 레이아웃은 권장하지 않음 |
프레임 레이아웃 (Frame Layout) |
싱글(Single) 모델 가장 상위에 있는 하나의 뷰 또는 뷰 그룹만 보여주는 방법 여러 개의 뷰가 들어가면 중첩하여 쌓게 됨. 가장 단순하지만 여러 개의 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식으로 자주 사용함 |
테이블 레이아웃 (Table Layout) |
격자(Grid) 모델 격자 모양의 배열을 사용하여 화면을 구성하는 방법 HTML에서 많이 사용하는 정렬방식과 유사하지만 많이 사용하지는 않음 |
● Linear Layout
위의 설명한 레이아웃 중에서 가장 사용하기 쉬운 레이아웃이다. LinearLayout을 잘 이해하면 다른 레이아웃을 이해하는데 많은 도움이 되니 잘 숙지하는것이 좋다고 한다.
package com.example.samplelinearlayout;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity;
public class LayoutCodeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// new 연산자로 리니어 레이아웃을 만들고 방향 설정
LinearLayout mainLayout = new LinearLayout(this);
mainLayout.setOrientation(LinearLayout.VERTICAL);
// new 연산자로 레이아웃 안에 추가될 뷰들에 설정할 파라미터 생성
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, // width
LinearLayout.LayoutParams.WRAP_CONTENT // height
);
// 버튼에 파라미터 설정하고 레이아웃에 추가
Button button1 = new Button(this);
button1.setText("Button1");
button1.setLayoutParams(params);
mainLayout.addView(button1);
// 새로 만든 레이아웃을 화면에 설정
setContentView(mainLayout);
}
}
'Android' 카테고리의 다른 글
Android - View (0) | 2023.01.12 |
---|
Comments