박상권의 삽질블로그

[안드로이드/Android]TedKeyboardObserver (키보드 show/hide 감지) 본문

IT/Android-TIP (한글)

[안드로이드/Android]TedKeyboardObserver (키보드 show/hide 감지)

박상권 2019. 6. 20. 23:31

제가 운영하고 있는 유튜브 채널 '개발자 테드박'에도 많은 관심 부탁드려요.
스타트업/개발자/IT 관련된 여러 영상을 올리고 있습니다.
영상보러가기



블로그를 Medium으로 옮겨서 운영하고 있습니다.
앞으로 새로운 글은 모두 미디엄 블로그를 통해서 올릴 예정입니다.
미디엄에서 다양하고 유익한 포스팅을 살펴보세요
미디엄 블로그 보기


화면을 개발하다보면 키보드의 상태를 알고 싶을때가 있습니다.

(키보드가 올라왔을때 View를 올리거나 없애거나 하는 등)

Android에서 키보드의 상태를 확인할 수있는 기능을 지원해주면 좋겠지만 그렇지 않았습니다.

TedKeyboardObserver는 키보드의 상태를 감지하고 원하는 작업을 할 수 있도록 도와주는 라이브러리입니다.

 


https://github.com/ParkSangGwon/TedKeyboardObserver

 

ParkSangGwon/TedKeyboardObserver

TedKeyboardObserver is keyboard's visibility observer - ParkSangGwon/TedKeyboardObserver

github.com


설정

dependencies {
    implementation 'gun0912.ted:tedkeyboardobserver:x.y.z'
    //implementation 'gun0912.ted:tedkeyboardobserver:1.0.0-alpha2'
}

 

사용법

TedKeyboardObserver는 코틀린으로 만들어진 라이브러리 입니다.

- Listener와 RxJava스타일 모두 지원합니다.

 

RxJava

- 라이브러리 내부에서 알아서 Lifecycle을 관리하기 때문에 별도의 removeObserve()나 RxJava의 dispose()를 해줄필요가 없습니다.

 

Java

new TedRxKeyboardObserver(this)
         .listen()
         .subscribe(isShow -> {
                     // do something
                 }, Throwable::printStackTrace);

Kotlin

TedRxKeyboardObserver(this)
    .listen()
    .subscribe({ isShow -> // do something }
        , { throwable -> throwable.printStackTrace() })

 

Listener

Java

new TedKeyboardObserver(this)
                .listen(isShow -> {
                    // do something
                });

Kotlin

TedKeyboardObserver(this)
         .listen { isShow ->
              // do something
         }

 

 

어때요? 이 라이브러리와 함께라면 키보드의 움직임을 모두 관찰 할 수 있습니다.

유용하셨다면 GitHub의 star도 눌러주시면 감사하겠습니다.

 

감사합니다.

Comments