RecyclerView를 iOS의 UIPickerView 처럼 fade-in, fade-out 적용하기

롤리팝 출시 이후로 RecyclerView가 도입되고 AdapterView를 커스터마이징 하기가 편해졌다. 오늘은 UIPickerView 스타일로 RecyclerView의 투명도를 주고 싶어서 레이아웃매니저를 다음과 같이 적용했다. class CustomLinearLayoutManager(context: Context) : LinearLayoutManager(context, VERTICAL, false) { private fun updateChildrenAlpha() { for (i in 0 until childCount) { val child: View = getChildAt(i) val bottom: Float = getDecoratedBottom(child).toFloat() val 더보기…

코틀린이란 무엇인가? 왜 필요한가?

코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다. 코틀린은 간결하고 실용적이다. 자바코드와의 상호운용성(interoperability)을 중시한다. 코틀린은 기존 자바 라이브러리나 프레임워크와 함께 잘 동작하며, 성능도 자바와 비슷한 수준이다 대상플랫폼은 서버, 안드로이드 등 자바가 실행되는 모든 곳이다. 코틀린의 주목적은 현재 자바가 사용되고 있는 모든 용도에 적합하면서도 더 간결하고 생산적이며 완전한 대체 언어를 제공하는 것이다. 더보기…

글쓴이 Charlezz,

[Kotlin Basics] Returns and Jumps

Returns and Jumps 코틀린은 3가지 구조적 jump 표현식을 갖는다. return : 기본적으로 가장가깝게 둘러싸고 있는 함수 또는 익명 함수로 부터 리턴한다. break : 가장 가깝게 둘러싸고 있는 루프를 종료한다 continue : 가장 가깝게 둘러싸고 있는 루프의 다음 단계를 진행시킨다. 이러한 표현식은 큰 표현식중의 일부이다. val s = person.name ?: return 더보기…

글쓴이 Charlezz,

[Kotlin Basics] 제어문

제어문 : if, when, for, while If 문법 코틀린에서는 if 는 표현중하나로 값을 하나 리턴하게 된다. 그러므로 삼항연산자는 존재하지 않는다. 왜냐하면 if문법이 그 역할을 하고 있으니까.   // Traditional usage var max = a if (a < b) max = b // With else var max: Int if (a > 더보기…

글쓴이 Charlezz,

[Kotlin Basics]Packages

Package 소스는 패키지 선언과 함께 시작된다. package foo.bar fun baz() {} class Goo {} // … 클래스와 함수 같은 콘텐트 전부 패키지가 선언된 소스파일에 포함된다. 그래서 위의 예제를 보면 baz()의 전체 이름은 foo.bar.baz이고 Goo의 전체 이름은 foo.bar.Goo가 된다.   만약 패키지가 정의 되지 않았다면 파일같은 콘텐츠는 default 패키지로 속하며, 패키지 더보기…

글쓴이 Charlezz,

[Kotlin Basics]기본 자료형

기본자료형 Numbers 자바랑 비슷하지만 똑같지는 않다. 예를 들면 암시적 형변환은 제공하지 않는다. var mInt = 0 var mLong = 0L //mLong = mInt (확장시키는 암시적 형변환은 불가능) mLong = mInt.toLong() 자료형 : 비트 사이즈 Double : 64 Float : 32 Long : 64 Int : 32 Short : 16 Byte 더보기…