본문 바로가기

android20

android fullscreen transparent status bar 위에처럼 FullScreen 이면서, StatusBar가 투명으로 나오는 뷰를 그리고자 한다. 구글링 결과, 아래 사항들만 적용하면 된다고 한다. 그리고 왠만하면 Java(Kotlin) 코드로 작성하는 것 보다 XML에서 작성하고 Style 적용이 코드 유지보수에 좋아서 시도를 해봤다. true @android:color/transparent true // 시스템바를 백그라운드에 그린다. true windowTranslucentStatus : StatusBar를 반투명하게 설정한다. statusBarColor : StatusBar 색상을 설정한다. (API 21 이상부터 적용 가능) windowDrawsSystemBarBackgrounds : StatusBar를 백그라운드 위에 그린다. windowFul.. 2021. 1. 22.
RxJava를 활용한 백버튼 2번 클릭으로 앱 종료시키기 검색 키워드: #Clicking back button twice to exit an activity with RxJava 먼저 Throttle, Debounce에 대해서 알아보겠습니다. /** * RxBinding의 Throttle 기능 사용하는 Button 함수 * @param throttleSecond 해당 시간동안 중복 클릭 방지 (기본으로 1초) * @param subscribe 클릭 리스너 정의 */ fun Button.onThrottleClick(throttleSecond: Long = 1, subscribe: (() -> Unit)? = null) = clicks() .throttleFirst(throttleSecond, TimeUnit.SECONDS) .observeOn(io.reactiv.. 2020. 10. 14.
clean Architecture 정리 용어 정리 UseCase : 유스 케이스(Use case)는 UML(통합 모델링 언어)의 행위자(액터)와 액터가 요구하여 시스템이 수행하는 일의 목표이다. Domain : 인터넷 주소, (지식·활동의) 영역; (책임의) 범위 Domain Logic: Business Logic Area로 이해하면 될 것 같다. Entity : 독립체 / DataBase 테이블의 논리적 구조 Clean Architecture에서의 Entity는 Api에서 받은 원시 그대로의 데이터 객체 (DTO)로 보면 된다. 당연히 MVVM을 처음 접하시는 분은 이해가 안가실 겁니다. 저는 처음엔 MVC 패턴과 ViewModel 만을 사용한 MVVM 패턴을 비교해보기 위해 개인 프로젝트를 시작했었습니다. 국가 정보를 가져와서 리스트뷰에 .. 2020. 8. 14.
mvvm + aac 적용 샘플 코드 코드 예제: https://github.com/boogil/android_mvvm_study 2020. 5. 18.
버튼에 Ripple 효과 적용하기 Android 버튼에 Ripple Effect를 주는 방법에 대해서 알아보도록 하겠습니다. 먼저 결론부터 말해보자면, 2가지 방법을 추천합니다. 1) MaterialButton, MaterialCardView 를 사용하는 방법 (Android Support Design 라이브러리에서 제공) 2) xml을 사용하는 방법 앱 개발을 해보면서 적용해본 버튼 종류들과 Ripple 효과를 적용한 코드를 살펴보겠습니다. 1. 텍스트만 들어가 있는 버튼 필수 속성들은 다음과 같습니다. text: 버튼 문구를 지정합니다. backgroundTint: 백그라운드 색상을 지정합니다. (background 아님을 주의) rippleColor: Ripple Effect 색상을 지정합니다. cornerRadius: 모서리의 둥.. 2020. 4. 21.
Android Animation System 정리 안드로이드를 개발하다 보면, 다양한 Animation 효과를 내고 싶어서 구글링 하다보면 너무 다양한 API들이 있는 것을 확인할 수 있습니다. 그래서! 그것을 정리해보고자 합니다. 가장 처음 등장한 API 순으로 정리해 보겠습니다. 1. View Animations (android.view.animation) Api 1부터 존재해온 가장 오래된 방식으로, 현재는 Deprecated 가 되려고 한다. (실제로 스튜디오에서 Deprecated가 뜨지는 않음) 렌더링 방식: 안드로이드의 모든 뷰가 그렇듯이 measure -> layout -> draw 방식을 거친다. 불행히도, Animation은 Draw 단계에서만 실행된다. 즉, Deferring rendering 도 불가능하고, 실제로 버튼의 위치를 바.. 2020. 4. 5.