App노자

[Android] ScrollView 본문

Android/AndroidStudio

[Android] ScrollView

앱의노예 2022. 12. 27. 21:17

1. ScrollView란?


 

 

 

 

https://developer.android.com/reference/android/widget/ScrollView

 

ScrollView  |  Android Developers

 

developer.android.com

 

 

 

\

//getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
//getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

 

View Binding을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정된 뷰 결합은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성합니다. 바인딩 클래스의 인스턴스에는 상응하는 레이아웃에 ID가 있는 모든 뷰의 직접 참조가 포함됩니다.

 

 

 

 

 

 

https://developer.android.com/topic/libraries/view-binding

 

뷰 결합  |  Android 개발자  |  Android Developers

뷰 결합 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정

developer.android.com

 

 

 

1. XML

fun main() {
    var number1 = 2022
    var number2 : Int = 2022 

//    변수를 선언할 때 : var + 변수명

    val String1 = "2022"
    val String2 : String = "2022"

//    상수를 선언할 때: val + 상수명
}

 

View Binding을 사용하기 위해서는 "build.gradle (Module: HelloKotlin.app)" 파일에 다음 내용을 추가 합니다.

Kotlin에서 변수는 val와 var라는 키워드로 선언을 한다

var로 선언을 할 경우 처음에 지정한 변수를 나중에 바꿀 수 있고

val로 선언을 할 경우 초깃값이 할당되면 나중에 바꿀 수 없는 읽기 전용 변수가 된다

추가로 알 수 있는 특성은 Kotlin은 Java와 달리 구문 끝의 세미클론의 생략이 가능하다는 점이다

 

2. Type inference (타입추론)

fun main() {
    val number1 = 2022
    val number2 : Int = 2022

    val String1 = "2022"
    val String2 : String = "2022"

//    상수를 선언할 때: val + 상수명
}

변수나 상수를 선언할 때 위에 있는 특정 타입을 명시하지 않아도 컴파일러가 할당된 값을 기준으로 타입을 결정해주는 기능인 타입추론을 지원한다

추론할 값을 지정하지 않으면 자료형을 추론할 수 없다

나름 편리한 기능이지만 협업이나 유지보수를 위해 개인적으로 사용은 하지 않고 있다

 

3. 자료형 검사하기

fun main() {
    var num: Int = 1
    var isbool: Boolean = true

    isbool = num is Int
    println(isbool)
    if (num is Int) {
        println("Int")
    } else if (num !is Int) {
        println("Int가 아니다")
    }
}

 

자료형을 검사할때는 is 키워드를 사용한다

왼쪽이 오른쪽과 같으면 true 아니면 false를 반환한다

 

4. as cast operator

fun main() {
    var num: Int? = null

//    var str: String = num as String
//    val str: String? = num as String?
    val str: String? = num as? String
}

 

as를 이용해 지정한 타입으로 형 변환이 가능하지만 as는 형 변환이 가능하지 않으면 예외를 발생 시킨다

예외 발생을 피하기 위해서 as?를 사용하는것이 좋다 as?는 예외 발생시 null을 반환한다

 

5.  Any형

fun main() {
    var any: Any = 1
    println(any)
    any = "Any Test"
    println(any)
}

 

Any형은 자료형이 특별히 정해지지 않은 경우에 사용한다

코틀린에서 최상위 클래스인 Any는 다른 모든 클래스의 부모클래스이며 어떤 자료형으로 변환이 가능하다

 

5.  타입 별칭

fun main() {
    
}

typealias TagetAction = (target: Any, action: Selector) -> Unit
typealias MyInt = Int

 

기본으로 제공하는 데이터 타입이나 개발자가 임의로 데이터 타입을 지정해 별칭을 부여하여 선언한 후 계속해서 사용할 수 있다