MainActivity.java 살펴보기
- 전체 창은 왼쪽 가운데, 그리고 오른쪽 부분으로 구분되어 있다. 그중 가운데 부분에는 두 개의 탭이 있다. [MainActivity.java]는 자바 소스 파일이다. 생성한 안드로이드 프로젝트에서는 자바 언어를 사용하기 때문에 java라는 확장자를 가진 파일이 만들어지며 표준 자바의 문법으로 작성되어 있다. 그래서 자바로 프로그램을 만들어 본 경험이 있다면 이 파일이 많이 익숙할 것이다. 그러나 자세히 코드를 살펴보면 평범한 자바 프로그램과 형태가 조금 다르다는 것을 알 수 있다.
package com.example.myapplication;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
}
코드를 살펴보자
- super.onCreate(savedInstanceState) : 기본 초기화를 수행
- EdgeToEdge.enable(this) : 앱의 화면을 가장자리까지 확장하는 기능을 활성화 -> 앱이 디바이스 화면의 가장자리 까지 찬다는 의미
- setContentView(R.layout.activity_main) : activity_main 레이아웃을 화면에 보여준다.
- ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) : main이라는 ID를 가진 뷰에 대해 WindowInsets(시스템UI)를 적용하는 리스너를 설정한다.
- v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
}); : 뷰의 패딩을 시스템 바의 크기에 맞게 설정한다. 이렇게하면 시스템 바가 화면에 표시될 때 뷰의 내용이 잘리지 않는다.
activity_main.xml 살펴보기
- 왼쪽 하얀색 화면: 실제 스마트폰 화면에 나타날 디자인 화면(Design)
- 오른쪽 남색 화면은 화면의 구성 요소만을 보여주는 청사진(Blue Print)이다.
흰색 화면만 남게하기
파란색 마름모 버튼을 누른 후 영역 선택을 하면 보여질 화면만 볼 수 있다.
'🌠Development > Android Studio' 카테고리의 다른 글
[Android Studio] 패키지 구성 확인하기 (0) | 2024.04.12 |
---|---|
[Android Studio] 뷰와 뷰의 속성 (0) | 2024.04.12 |
[Android Studio] Intent(인텐트) (0) | 2024.04.12 |
[Android Studio] TextView 기본 사용법 (0) | 2024.04.12 |
[Android Studio] 프로젝트 생성 방법 (0) | 2024.04.12 |