Learn & Record

[FastCampus] Android (데이터유지, 복습, Style, GuideLine, FloatingActionButton) 본문

Dev/Android

[FastCampus] Android (데이터유지, 복습, Style, GuideLine, FloatingActionButton)

Walker_ 2024. 2. 18. 12:22

1. 화면전환 시 데이터유지

 - Activity lifecycle

 - 6가지 콜백으로 구성된 핵심 집합이 단계 별로 전환됩니다.

 - 임시 UI 상태 저장 및 복원

 - ViewModel, onSaveInstanceState 등으로 UI 상태를 저장해야 회전, 상태변환 시 데이터 유지가 된다

 - OnSaveInstanceState로 UI 상태를 저장한다

 - 저장된 인스턴스 상태를 사용하여 UI 상태를 복원

override fun onSaveInstanceState(outState: Bundle) {
    val cmToM = false
    outState.putBoolean("cmToM", cmToM)
    super.onSaveInstanceState(outState)
}

override fun onRestoreInstanceState(savedInstanceState: Bundle) {
    var cmToM = savedInstanceState.getBoolean("cmToM")
    super.onRestoreInstanceState(savedInstanceState)
}

 

2. 복습

 - UI

  - ConstraintLayout 

  - Constarint

 - EditText

  - inputType

  - addTextChangedListener

 - Android

  - ViewBinding

  - onSaveInstanceState

  - ActivityLifecycle

 

4. Style 

 - vlaue형식의 리소스 파일 생성 > 공통되는 스타일을 작성 하여 편하게 사용 가능

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Title" parent="Widget.AppCompat.TextView">
        <item name="android:textColor">@color/brown</item>
        <item name="android:textSize">24sp</item>
        <item name="android:layout_marginTop">36dp</item>
        <item name="android:textStyle">bold</item>
    </style>
</resources>

- XML 레이아웃에서 style 태그 사용하면 모두 적용됨

- 상속받을 때, 스타일의 값도 모두 상속 받을 수 있음

 

5. Guideline

 - View의 가이드라인을 설정해주는 요소

 - orientation : 세로 또는 가로로 가이드라인 생성

 - percent : 퍼센트로 라인의 위치 지정

 - maxlines : 텍스트의 최대 줄

 - ellipsize : 보이지 않은 내용을 ...으로 표시

 

6. FloatingActionButton

 - 팔레트 > 버튼 > FloatingActionButton > + > vector asset

 - Input을 위해 추가 액티비티, 레이아웃 파일 생성

 

[ 계산기 앱 ]

 

1. 학습요소

 - ConstaintLayout-Flow로 UI 그리기

 - 다크/라이트 모드에 따른 UI 그리기

 - style, color, theme

 - when, StringBuilder

 

FastCampus 강의 : https://fastcampus.co.kr/dev_online_androidappfinal

 

35개 프로젝트로 배우는 Android 앱 개발 feat. Jetpack Compose 초격차 패키지 Online. | 패스트캠퍼스

35개 프로젝트로 학습하는 '안드로이드 앱 개발의 모든것'. 입문자부터 실무자까지 아우르는 101시간의 풍부한 커리큘럼을 통해 무한한 성장 뿐 아니라 원하는 기업으로의 이직에 성공하세요.

fastcampus.co.kr