목록분류 전체보기 (105)
우찬쓰 개발블로그
벌써 테트리스를 만든지는 꽤 오래되었지만, 블로그에 테트리스 개발기를 써야지.. 써야지.. 하다가 오늘에야 마음먹고 쓰게되었습니다. 결론부터 말씀드리자면, 소스는 오픈소스로 공개되어있고, 출처만 밝히면 누구든지 소스를 참고할 수 있게 공개해 두었습니다. 누구든 이 테트리스 오픈소스에 참여할 수 있으니, PR 올려주세요~! github.com/WoochanLee/BalanceTetris WoochanLee/BalanceTetris Tetris built with vanilla javascript. Contribute to WoochanLee/BalanceTetris development by creating an account on GitHub. github.com 깃허브 호스팅을 이용하여 바로 플레이 해..
chrome://inspect
EditText 에서 clearFocus를 호출하는 기능을 넣고, 잘 되는것 까지 확인한 후에 QA넘겼는데, 일부 폰에서 제대로 focus가 사라지지 않는 이슈가 있었다. 문제의 폰은 샤오미 Redmi 6였고, focusable을 root 뷰에 true로 준 상태인데도 불구하고, 제대로 먹히지 않았다. 결국 문제를 찾고보니 특정 기종에서는 android:focusableInTouchMode 도 true로 해줘야 되는 것으로 확인 되었다. 귀찮지만 아래의 두개 다 true로 주는 것을 기억하도록 하자. android:focusable android:focusableInTouchMode
ConstraintLayout으로 구성된 자식중에 중간의 TextView가 글이 너무 길어 다른뷰를 침범할때, singleLine으로 두고 elipsize 시키고싶다면? app:layout_constrainedWidth="true" 이 옵션을 주면, 제한범위를 넘지 않게된다.
그냥 다운받을 수 있는 android opencv sdk는 불필요한 모듈이 포함되어있으므로 빌드시 용량이 크다. (https://sourceforge.net/projects/opencvlibrary/files/4.3.0/opencv-4.3.0-android-sdk.zip/download) opencv 소스를 새로 크로스컴파일하여 경량화 해보자. 1. ABI 선택 'x86', 'armeabi-v7a', 'arm64-v8a', 'x86_64' 의 총 4개의 ndk cpu종류(ABI)에서, x86과 x86_64(인텔 cpu)용은 용량이 크고, 대부분의 스마트폰은 arm cpu이므로 버려도됨. 'armeabi-v7a', 'arm64-v8a' 두개만 필요. (그냥 다운받을 수 있는 android opencv sd..
png를 사람이 구분못하는 불필요한 부분을 압축하여 용량을 줄여주는 사이트 https://tinypng.com/ TinyPNG – Compress PNG images while preserving transparency Make your website faster and save bandwidth. TinyPNG optimizes your PNG images by 50-80% while preserving full transparency! tinypng.com
안드로이드 풀스크린엔 옵션이 많은데, 그 옵션을 간략히 살펴보자 val decor = window.decorView as FrameLayout var uiOption = window.decorView.systemUiVisibility uiOption = uiOption or SYSTEM_UI_FLAG_HIDE_NAVIGATION or SYSTEM_UI_FLAG_FULLSCREEN or SYSTEM_UI_FLAG_IMMERSIVE_STICKY decor.systemUiVisibility = uiOption SYSTEM_UI_FLAG_HIDE_NAVIGATION - sdk version 14이상 부터 가능한 옵션. 네비게이션바를 가려준다. SYSTEM_UI_FLAG_FULLSCREEN - sdk versio..
quit() : 즉시 루퍼 종료. quitSafely()는 : 메시지 큐에 쌓인 메시지 전부 처리후 루퍼 종료.
보통의 체크박스는 다음과 같다. 보통 여기서 디자인을 넣게되면 다음과 같이 작업을 하곤한다. 이렇게 커스텀으로 이미지를 사용해야하는 경우 android:button="@drawable/custom_image" 를 통해 넣게되는데, 이 방식으로 체크박스 이미지를 변경하는 경우 문제점이 하나 있다. 백그라운드도 또한 체크여부에 따라 디자인이 바뀌어야 되는경우, 정상적인 방법으로는 저 앞에 부분의 공간을 띄울 수가 없다. 이 경우엔 어떻게 해야할까? 이러한 경우를 위해서는 android:button 이 아니라 android:drawableStart에 이미지를 넣어주어야한다. 기존의 button은 @null을 통해 제거한다. background와 체크박스 이미지 사이의 공간은 paddingStart를 통해 조절..
스크롤뷰는 참 편리하지만 가끔씩 원하는 로직의 구현이 어려울 때가 있다. 대표적 예중에 하나가 스크롤뷰 내부에 뷰를 하단에 고정하는 것이다. 다음과 같은 뷰가 있다고 가정해보자. 여기서 요구사항은 '고객센터' 라는 버튼을 최하단에 고정시키기 이다. 각 안드로이드 폰마다 해상도가 다르기 때문에 정확한 방법을 알지 않고는 구현하기가 어렵다. 예를들어서 고객센터를 제외한 부분을 스크롤뷰로 잡고 상위 레이아웃을 Relative Layout으로 잡게되면, 언뜻 성공한것처럼 보이지만 키보드가 올라온 경우 다음과 같은 슬픈 결말을 맞이하게 된다. 우리의 정확한 요구사항은 다음과 같다. 1. 스크롤뷰의 내부가 내용물이 적을 경우에도 하단뷰는 하단에 고정. 2. 스크롤뷰가 스크롤을 넘칠정도로 내용물이 생길 경우에는 하단..