오늘 코딩하다가 View.isVisible = true를 사용할 수 있는 방법을 찾았다. 재현조건은 뭔지 모르겠지만, kotlin + androidX + core-ktx를 조합하니까 나왔다. java + androidX + core에서는 안 나온다. 버전 바꿔가면서 찾아보니Read More →

둥근 테두리가 엄청 많이 들어가는 프로젝트를 하고 있다. 그나마 이미지로 처리하는게 아니라서 다행이지만… 일단 둥근 테두리의 배경을 만들어본다. 둥근 테두리를 적용하고 눌림효과를 주기위해 이렇게 설정하면 이렇게 나온다 -_- 이걸 해결하려면Read More →

오픈소스 라이선스를 앱에서 표시해야하는데, 매번 만들기 귀찮을 때 사용하면 좋은 라이브러리다. 링크: https://github.com/jaredsburrows/gradle-license-plugin 파일이 만들어지는 경로는 assets/open_source_licenses.html다. 사용법 1 gradle 탭 -> Excute Gradle Task 버튼 클릭 -> Command line에Read More →

체크박스와 라디오버튼은 그냥 기본을 써도 괜찮은데, 디자이너들은 기본 컴포넌트를 쓰는 걸 아주 싫어한다… 이번엔 선택된 체크박스의 글자를 bold로 바꿔달라고 한다. setOnCheckedChangeListener 에 달면 2way binding일 때 문제가 생기기 때문에 setChecked에Read More →

그 동안 단 한 번도 갑님이 기본 스위치 버튼을 쓰게 놔둔 적이 없다. 매번 구글링하기 귀찮아서 블로그에 남긴다. 먼저 단추에 해당하는 thumb 부터 만들어보자 checked=false 일 때 표시할 thumb checked=trueRead More →

https://flutter.dev/docs/get-started/install 에서 자신의 os 선택해서, 설명을 따라한다. .bash_profile에 android sdk 경로를 제대로 설정해놨다면 flutter doctor를 돌려도 이상이 없을텐데, 혹시나 안되면 https://github.com/flutter/flutter/issues/15114#issuecomment-431793370 에서 도움을 받으면 된다. flutter doctor를 계속 돌리면서 하라는대로Read More →

이메일처럼 Patterns.EMAIL_ADDRESS.matcher(email).matches() 이렇게 하면 되는 줄 알았는데, 아니었다. Patterns.PHONE.matcher(email).matches() 로 하면 무조건 true가 넘어온다. 그러다 찾은게 https://github.com/googlei18n/libphonenumber 이다. 온라인으로도 만들어놔서 https://libphonenumber.appspot.com 에 가서 검사할 수 있다. 안드로이드 스튜디오용은 https://github.com/googlei18n/libphonenumber/wiki/Android-Studio-setup 이렇게Read More →

이번 프로젝트에 androidx 를 도입하면서 Navigation 도 같이 도입했다. 매우매우 편하다. 이젠 iOS의 스토리보드가 전혀 부럽지 않다. 다만 두 가지 문제가 있는데, 하나는 back 키 제어인데, 이건 http://pluu.github.io/blog/android/2019/02/03/androidx-backkey/ 이거로 하면Read More →