본문 바로가기
[android] Tinting drawables [android] Tinting drawables http://andraskindler.com/blog/2015/tinting_drawables/ -Tinting drawable 은 현재의 theme 에 맞춘 drawable 을 만들 때 유용하게 사용할 수 있다.apk size 도 줄일 수 있는 장점이 있다. -v4 support library 에 DrawableCompat 이라는 class 가 있다.이 녀석은 원래 LOS 이상에서 가능한 tinting (색깔 입히기, 물들이기) 기능을 활용할 수 있게 한다. 그러나 이 녀석은 아직도 wrap() 라는 함수를 통해 wrap 해주어야 하는 단점이 있다.그래서 TintedBitmapDrawable 을 구현해서 사용하는 것이 추천된다. -TintedBitmap.. 2017. 9. 15.
[android] VectorDrawable 에 대한 이야기 [android] VectorDrawable 에 대한 이야기 https://blog.stylingandroid.com/vectordrawables-part-1/ -LOS 부터 등장한 녀석으로 SVG 형식으로 xml 을 정의하여 drawable 로 사용할 수 있다. -V 1.4. 이전에서는 android studio 에서는 preview 를 제대로 그리지 못하는 이슈가 있지만, 이후버전에서는 수정됨. -VectorDrawable 을 사용하면 각 해상도에 필요한 res 를 넣어주지 않아도 되서 app size 가 많이 절약된다. -drawable/android.xml 위의 코드는 이 녀석을 그린다. -vector 로 animation 을 하려면 animated-vector 를 정의하여 assign 해줘야 한.. 2017. 6. 2.
[android] Custom view state 관리에 대한 내용. [android] Custom view state 관리에 대한 내용. -예를 들어 checked state 가 없는 view 에 checked state 를 추가하려면 다음과 같이 할 수 있다. - 우선 어떤 view 에 Checkable 이라는 interface 를 implement 시키고.. ( android 에 있는 interface ) public interface Checkable{ void setChecked(boolean checked); boolean isChecked(); void toggle();} - setChecked 함수에서 refreshDrawableState() 를 호출하면, int[] onCreateDrawableState(int extraSpace) 가 불린다. privat.. 2017. 5. 23.
[android] Launch UX Improvement. [android] Launch UX Improvement. reference : http://cyrilmottier.com/2013/01/23/android-app-launching-made-gorgeous/ Summary 안드로이드는 activity theme 에 따라 view 가 완전히 불러지기 전에 preview window 를 보여준다.이 때 theme 을 제대로 control 하지 않으면 이상한 전환 현상을 보여주기 때문에 부자연스럽다. 이를 개선하기 위해서 첫번째로..actionbar 를 사용하지 않으면 이를 제거해주자.theme 의 parent 를 android:Theme.Holo.NoActionBar 를 주면 된다. 두번째로는 배경화면을 기본 시작화면 색깔과 맞추는 것이 좋다.그렇다고 Sp.. 2014. 4. 4.
[android] OutOfMemoryError : bitmap size exceeds VM budget 을 해결해보자!!! 안드로이드, OutOfMemoryError : bitmap size exceeds VM budget해결해보자!! OutOfMemoryError: bitmap size exceeds VM budget 해결방법 #1 메니페스트의 applicaation tag 에 android:largeHeap="true" 를 준다.이 경우 원래보다 더 큰 용량의 힙 사이즈를 사용할 수는 있지만,GC 시간이 더 오래 걸리는 등의 문제가 생기기 쉽다.게다가 정확한 heap increase 가 보장되지 않는다. 결국 완벽한 solution 은 되지 못하고, 아주 특수한 상황에 한번씩 엄청난 양의 heap size 가필요할 때만 쓸 수 있는 미봉책정도가 되겠다. OutOfMemoryError: bitmap size exceeds .. 2013. 12. 13.
[android] xxhdpi 는 뭐 하는 녀석이야?? android, xxhdpi 는 뭐하는 녀석이야? xxhdpi ?? 갈수록 폰의 해상도가 늘어나면서 이제는 xhdpi 를 넘어선 해상도가 나왔다.그 녀석의 이름은 xxhdpi.약 1920 * 1080 의 해상도 와 440dp 를 가진다. 출시된 대표 단말들 Galaxy S4( 겔럭시 S4), Optimus G Pro (옵쥐프로), Vega No 6. ( 베가 넘버 6 ) 등이 있다. 디자인 가이드 수정 방향 dp 해상도로 따지면 xxhdpi 는 360 dp x 640 dp 로, xhdpi 와 가로 dp 값이 같다.ScrollView 를 비롯한 scroll 가능한 layout 을 구성해 놓았다면 xxhdpi 를 위해 추가로 해야 할 일은 없다.다만 xhdpi 의 drawable resource 를 사용할 .. 2013. 12. 4.
[android] 메모리 최적화에 대한 추가정보들 android, 메모리 최적화에 대한 추가정보들 Activity 나 Fragment 가 멈출 때 비트맵을 재활용하자. - 보통 Activity의 경우 onStop(), Fragment의 경우 onDestryView() 에서 하는 것이 적당하며, Bitmap 이미지의 recycle 을 호출한다. - Activity 나 Fragment 의 종료시에는 View 에 bind 된 drawable 을 끊어주는 것도 중요하다.Drawable.setCallback( null ); 이는 Drawable 이 View 에 bind 되어 있고, View 는 다시 Context 를 통해 Activity 에게 bind 되어 있다는 의미이다. 이를 통해 메모리 릭의 가능성을 배제할 수 있다. 이미지를 load 할 때 줄여서 읽는다.. 2013. 11. 11.
[android] TransitionDrawable 을 잘 쓰면 훌륭한 애니메이션이 될 수 있다. TransitionDrawable 을 잘 쓰면 훌륭한 애니메이션이 될 수 있다. TransitionDrawable 의 존재는 익히 알고 있었으나, 드디어 테스트를 해 보았다. TransitionDrawable 은 2개의 이미지를 setting 해놓고 transition 을 시키면, fade in, fade out 효과처럼 이미지가 교체된다. 더 놀라운 것은 매우 부드럽게 된다는 것이며, 2개 이상의 이미지도 충분히 소화할 수 있고, 수치만 바꿈으로서 바뀌는 속도를 쉽게 조절할 수 있다. 자 이 위대한 녀석이 얼마나 간단하게 구현되는지예제 코드 ( example code ) 를 통해서 알아보자. ImageView imageView = new ImageView( this );TransitionDrawable.. 2013. 10. 1.
[android] 대체 리소스는 어떤 것을 쓸까? 에 대한 실험 결과 안드로이드, 대체 리소스는 어떤 것을 쓸까? 에 대한 실험 결과 모든 resource 가 제대로 박혀 있을 때는 당연히 자신의 resource 를 가져다 쓰는 것이 당연하다. 환경구성 아래 폴더에 각각 drawable.png 이라는 이미지 파일을 만들고, 각 이미지에는 문자로 해상도를 표기한다.drawable drawable-nodpi drawable-ldpi drawable-mdpi drawable-hdpi drawable-xhdpi 실험 1 : xhdpi 단말에서 xhdpi resource 를 지웠다. 어느 것을 가져다 쓸까?예상 : 가장 밀접한 해상도인 hdpi 혹은 아예 default 가 될 수 있는 drawable, drawable-nodpi 를 가져다 쓸 것이다.결과 : hdpi 것을 가져다 .. 2013. 9. 20.
반응형