[android] LOS visibility change & ripple animation glitch (잔상문제) [android] LOS visibility change & ripple animation glitch (잔상문제) LOS 이상에서 버튼 클릭을 하면 기본적으로 ripple animation 이 발생한다.Animation 도중 visibility 를 gone 으로 만들었다가 나중에 visible 로 다시 만들면,gone 당시 진행중이던 ripple 이 남아있게 되서 visible 이 되는 순간 남아있던 ripple effect 가 보이게 되어 ugly 하다. 이것을 해결하려면..아래의 함수를 통해 해결할 수 있다!! ViewCompat.jumpDrawablesToCurrentState( View ); // examplemyButtonContainer.setVisibility(View.VISIBLE);Vi.. 2017. 5. 29. [Java] GC 에 대한 이야기 [Java] GC 에 대한 이야기 http://www.javaworld.com/article/2078645/java-se/jvm-performance-optimization-part-3-garbage-collection.html -System.gc() 를 호출하는 것이 GC 를 보장하지 않는다. -gc 가 호출되면 gc 는 자신이 실행되어도 안전한 시점인지 확인 후 실행된다.안전한 시점이라는 것은 지속적인 object allocation 이 아닐 때, optimized CPU instruction 의 중간이 아닐 때 와 같은 경우가 있겠다. -GC 는 여러 가지 variation 이 있지만 다음 두가지는 모든 GC 가 동일하다.1. OOM 이 나지 않도록 사용되지 않는 메모리를 free 시킨다.2. pe.. 2017. 5. 25. [android] CircularRevealEffect Basic Simple Example [android] Circular Reveal Effect Basic Simple Example - API Level 21 에 등장! ( 5.0, MOS ) - Animator animator = ViewAnimationUtils.createCircularReveal( shape, // animation target view shape.getWidth(), // circle center x 0, // circle center y 0, // circle start radius (float) Math.hypot(shape.getWidth(), shape.getHeight())); // circle end radiusanimator.setInterpolator(new AccelerateDecelerateInt.. 2017. 5. 24. [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] LinearLayoutManager 를 사용할 때 smooth scrolling 을 하게 하려면 [android] LinearLayoutManager 를 사용할 때 smooth scrolling 을 하게 하려면 참조 : https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.html#getExtraLayoutSpace(android.support.v7.widget.RecyclerView.State) LinearLayoutManager 의 getExtraLayoutSpace 를 override 하여 값을 주면 된다. 이 함수는 LayoutManager 를 통해 view 를 배치할 때 여유 공간 값을 pixel 로 return 한다.만약 500 값을 주면 ( 500 / a child view height .. 2017. 5. 22. [android] emergency number 에도 전화를 바로 걸려면? [android] emergency number 에도 전화를 바로 걸려면? ACTION_CALL intent 에 대해 폰에 따라 이 permission 이 없으면 emergency number 에는 일반 번호와는 다르게, 전화가 바로 걸리지 않고 dialer 만 뜨는 경우가 있다. 아래 permission 이 있어야만 emergency call 에도 바로 전화를 걸 수 있다. 단 system 앱만 사용할 수 있다는 것은 함정.. public static final String CALL_PRIVILEGED Added in API level 1 Allows an application to call any phone number, including emergency numbers, without going t.. 2017. 5. 19. [android] adb dumpsys 를 잘 사용해보자. [android] adb dumpsys 를 잘 사용해보자. // service 들의 이름을 보자.> dumpsys | grep “DUMP OF SERVICE" // battery 정보를 보자.> dumpsys battery // wifi 정보를 보자.> dumpsys wifi // cpu 정보를 보자.> dumpsys cpuinfo // 특정 앱의 memory 정보를 보자> dumpsys meminfo “app package name" // activity 정보를 보자> dumpsys activity // 패키지 정보를 보자> dumpsys package [optional app package name] // window 정보를 보자> dumpsys window activity, adb dumpsys, .. 2017. 5. 18. [Android] java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called. [Android] java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called. android 2.3 에서는 setAdapter 가 수행된 이후에 addHeaderView 가 수행되면 아래와 같은 exception 을 내뱉는다. java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called. 해결책은 setAdapter( null ); 을 해주고, addHeaderView 를 호출한 다음 다시 본래의 adpater 를 set 해주던가, 아니면 headerview 를 .. 2017. 5. 17. [Java] Subclass 는 Serializable 을 구현하고, Superclass 는 그렇지 않은 경우. [Java] Subclass 는 Serializable 을 구현하고, Superclass 는 그렇지 않은 경우. 출처 : http://www.jguru.com/faq/view.jsp?EID=34802 Object 를 serialize 를 하면 상속 hierarchy 를 따라가며 직렬화 메커니즘을 수행한다. 이 과정에서 만약 Serializable 을 구현하지 않은 super class 를 만나면 이 매커니즘은 멈추게 된다. Deserialize 할 때 Serializable 을 구현하지 않은 super class 는 stream 으로부터 복구되는 것이 아니라, empty argument constructor 가 호출되며 복구된다. 따라서 Superclass 의 내용을 복구해줄 필요가 없다면 그냥 igno.. 2017. 5. 16. 반응형 이전 1 ··· 30 31 32 33 34 35 36 ··· 125 다음