분류 전체보기
-
LayoutInflater의 inflate메서드Android/Layout 2021. 9. 10. 16:28
LayoutInflater의 inflate메서드 attachToRoot와 root의 제공 유무에 따라 리턴하는 값이 다르다. inflate(int resource, ViewGroup root) root가 제공되지 않으면 자식으로 붙이지 않고 root가 제공되면 root에 자식으로 레이아웃이 붙게 된다. 리턴 root가 제공되면 root리턴, root가 제공되지 않으면 inflated된 view계층의 루트 boolean attachToRoot가 존재하는 경우 리턴 root가 제공되고 attachToRoot가 true인 경우 - root 리턴 이외 - inflated된 view계층의 루트 리턴
-
layout 재사용 <include/> <merge/>Android/Layout 2021. 9. 10. 12:36
https://developer.android.com/training/improving-layouts/reusing-layouts 로 레이아웃 재사용 | Android 개발자 | Android Developers Android에서는 다양한 위젯을 통해 재사용 가능한 작은 상호작용 요소를 제공하지만, 특수 레이아웃이 필요한 큰 구성요소를 재사용해야 할 수도 있습니다. 전체 레이아웃을 효율적으로 재사용하 developer.android.com https://developer.android.com/guide/topics/resources/layout-resource#include-element 레이아웃 리소스 | Android 개발자 | Android Developers 레이아웃 리소스 레이아웃 리소스는 활동..
-
wrap_content, match_parent와 TextView 자체 크기Android/Layout 2021. 9. 10. 03:04
layout을 재사용하기 위해 태그를 사용하다 갑자기 원하는 동작이 나오지 않았다. 이전에 정리했던 글인데 정확히 공부하지 않아서 추가적으로 공부한 것을 정리했다. 아무것도 출력되지 않아 당황스러웠다. 다음의 layout파일을 보자. layout_width는 match_parent로 동일하다. layout_width는 wrap_content로 동일하지만 각 위젯의 textSize가 달라 텍스트 하나의 높이가 달라진 결과로 wrap_content도 서로 다른 값을 가진다. 이 부분은 쉽게 이해된다. layout_height는 100dp로 동일하다. layout_width는 wrap_content로 content에 해당하는 텍스트의 총 가로길이로 결정된다. 이 부분도 쉽게 이해된다. layout_height..
-
[AAC] DataBinding 1- 데이터바인딩 기본 사용법Android/ArchitectureComponent 2021. 9. 9. 18:45
Activity에 연결된 layout 파일의 View를 참조하기 위해서 findViewById를 사용하였다. findViewById는 동일한 이름의 ui component id가 존재할 때 다른 view의 id가 들어갈 여지가 있고 id를 찾는데 시간이 오래걸린다. 가독성 또한 좋지않다. ViewBinding은 layout파일과 관련된 바인딩 오브젝트를 생성하여 바인딩 오브젝트를 통하여 id에 해당하는 뷰를 참조할 수 있었다. DataBinding은 ViewBinding의 확장 개념으로 ViewBinding의 기능을 포함해 layout파일에서 변수처럼 사용할 수 있는 변수를 포함시켜 바인딩 오브젝트에 데이터를 멤버로 포함시킬 수 있다. 바인딩 오브젝트에 포함된 변수를 이용하여 layout부분에서 ui의 ..
-
[Kotlin] 코틀린 함수와 함수형 프로그래밍 3Kotlin/Function 2021. 9. 8. 20:47
[Kotlin/Function] - [Kotlin] 코틀린 함수와 함수형 프로그래밍 1 [Kotlin/Function] - [Kotlin] 코틀린 함수와 함수형 프로그래밍 2 함수 타입 / 수신 객체 지정 함수 타입 1. Function types 함수의 파라메터와 return형 (함수의 시그니쳐) 에 해당하는 것이 function type이다. val onClick: () -> Unit onClick의 function type 인자0개 return타입 Unit () -> Unit 일반변수선언시 타입을 선언하듯이, 함수타입변수선언시 Function type을 선언하는데 Function타입 선언시의 내용 리턴형이 Unit인 경우 생략되어서는 안된다 선택적으로 receiver type(수신 객체)을 가질 수..
-
[Kotlin] 코틀린 함수와 함수형 프로그래밍 2Kotlin/Function 2021. 9. 7. 23:39
[Kotlin/Function] - [Kotlin] 코틀린 함수와 함수형 프로그래밍 1 이전 포스팅에서 함수형 프로그래밍, 일급 객체, 일급함수, 고차함수, 람다표현식의 개념에 대해 알아보았다. 이번에는 코틀린 ref를 보고 문법 내용을 정리해보려고 한다. High-Order function 고차함수의 인자로 함수타입의 인스턴스를 (instance of function type) 전달해야한다. 밑의 이미지를 보면 함수타입을 인스턴스화 하는 방법이 있다. 그중 하나인 람다표현식부터 살펴보고 능력이 되는데까지 정리해보려고 한다. 람다표현식은 고차함수에서 인자를 전달하는 목적으로 폭넓게 사용된다. 1. 람다 표현식 { } 은 항상 중괄호로 둘러져있어야 한다. { x: Int, y: Int -> x + y } ..
-
[Kotlin] 코틀린 함수와 함수형 프로그래밍 1Kotlin/Function 2021. 9. 6. 17:34
코틀린은 객체지향 프로그래밍 + 함수형 프로그래밍 언어이다. (참고-함수형프로그래밍이란) https://mangkyu.tistory.com/111 프로그래밍 언어의 함수가 일급 시민(일급 객체)으로 다뤄진다면 일급 함수를 가지고 있는 언어이다. https://choheeis.github.io/newblog//articles/2020-12/kotlinHigherOrderFunctionAndLambda 일급 객체의 특징 1. 일급 객체는 함수의 매개변수가 될 수 있다. 2. 일급 객체는 함수의 return값이 될 수 있다. 3. 일급 객체를 변수에(=) 값을 할당할 수 있다. 4. 일급 객체는 고유한 구별이 가능하다.(equaliy비교) 코틀린의 함수는 일급 함수이다-> 일급 객체의 특징을 만족한다. 1. ..
-
[Kotlin] List,Set,MapKotlin/Collection 2021. 9. 5. 16:09
2021.08.26 - [Kotlin/Collection] - [Kotlin] Collection hierachy List In Kotlin, the default implementation of List is ArrayList Two lists are considered equal if they have the same sizes and structurally equal elements at the same positions. class Person(var name:String, var age:Int) fun main() { val bob = Person("Bob", 31) val people = listOf(Person("Adam", 20), bob, bob) val people2 = listOf(P..