본문 바로가기

태그를 입력해 주세요.

[Android] RecyclerView를 이용한 ExpandableListView ExpandableListView를 사용하면 리스트가 애니메이션이 없이 그냥 생성되었다가 사라지는 것을 반복 합니다.너무 보기 안좋죠~ RecyclerView를 사용하시면 아시 겠지만, 리스트 insert,remove,update동작이 자연스럽게 잘 되어 있습니다.이걸로 이용하면 쉽게 훨씬 더 낫겠다 싶어서 한번 검색을 해본 순간역시나 저와 같은 생각을 가진 분이 이미 예제를 구현해 두셨네요. https://github.com/anandbose/ExpandableListViewDemo 위 git 소스를 보시면 다른게 없습니다.그냥 버튼을 누르면 리스트를 insert 시키고,다시 한번 버튼을 눌렀을 경우 remove를 시키는 것이지요. 참고하세요. 더보기
[Android] android.net.conn.CONNECTIVITY_CHANGE 안드로이드에서 네트워크가 끊겼는지 실시간으로 알아보는 방법으로 아래와 같이 사용하시는 분들도 있을 것이다. // Broadcast Listener 등록 (onCreate나 onResume에 할당)IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); try{ registerReceiver(mNetworkStateReceiver, filter); }catch (Exception e){ if (RingQConfig.DEBUG) e.printStackTrace(); } // Broadcast Listener 해제 (onDestroy나 onPause에 할당)try { if (mNetworkStateReceiver != nu.. 더보기
[Android] GCM 3.0 서버 라이브러리 공유 GCM 3.0 library : https://github.com/google/gcm Doze 모드에서 Push를 High 권한으로 줄 경우, 알림이 오는 것을 확인 했네요. 참고하세요. 더보기
[Android] pointerindex out of range ViewPager를 이용할 때 위와 제목과 같이 아래 Exception이 발생하기도 한다.(저 같은 경우 PhotoView Library를 사용하다가 에러 발생) java.lang.IllegalArgumentException: pointerIndex out of range 구글링을 해보고, PhotoView 샘플에서 살펴보니...해결 책은 해당 Exception을 예외 처리 해주는 걸로 마무리가 되어 있었다. ViewPager를 커스텀 하게 하나 추가하여 아래와 같이 onInterceptTouchEvent를 예외 처리 한다. // pointerIndex out of range @Override public boolean onInterceptTouchEvent(MotionEvent ev) { try { r.. 더보기
[Android] RecyclerView setAutoMeasureEnabled 함수 몇일전 Android에서 Android Support Library 23.2.0 버전으로 업데이트 하였습니다. 여기에서 저에 있어 가장 중요한 부분이 LinearLayoutManager에 setAutoMeasureEnabled 함수가 생긴 겁니다!!! 지금 까지 RecyclerView 안에 RecyclerView나 Scroll이 관련 있는 View를 사용하게 될 경우 NestedLinearLayout 과 같은 커스터마이징이 필요했었습니다. Android 에서 자동적으로 Layout을 늘려 주지 않았으니깐요.(참고 : http://gogorchg.tistory.com/entry/Android-Nested-RecyclerView-%EB%A7%8C%EB%93%A4%EA%B8%B0) 하지만, 이번 v23.2.0.. 더보기
[Android] CustomView에 Attribute 만들기 1. values 폴더에 attrs.xml 파일을 만든다.2. 아래와 같이 attrs.xml 에 코드를 추가한다. NewAttr로 strokeWidth와 strokeColor 라는 속성을 만드는 것이다. 3. layout xml 파일에 속성 값을 넣는다. (잘 안보이시겠지만, 진하게 되어 있는 부분만 추가하면 됩니다.) 4. CustomView에 속성 값을 가져 온다. public GroupTitleView(Context context, AttributeSet attrs) { super(context, attrs); strokeWidth = context.obtainStyledAttributes(attrs, R.styleable.NewAttr) .getDimensionPixelSize(R.styleabl.. 더보기
[Android] Make CustomView (TextView, OnMeasure) CustomView를 만들어 보고자 합니다.하고자 하는 것은 TextView Background 에 기본적으로 RoundRect 가 그려지도록 할 예정입니다. 여기서 필요한 기술이 두가지 입니다. 1. Background를 어떻게 그리지??2. CustomeView의 크기를 어떻게 조절하지??? 모든것을 설명해 드릴 수 없지만, 개발하는데 유용할 만한 내용은 될것이라 생각 됩니다. 먼저, Background에 이미지를 넣을때 아래와 같은 방법을 많이 씁니다. (전..그랬음.._) - FrameLayout으로 감싼 후, Background로 활용할 이미지를 ImageView에 먼저 그린 후 그 다음으로 위에 표현하고자 하는 View를 올린다. 단점 ) View의 크기가 고정 되어 있지 않으면 (예를 들어 .. 더보기
[Android] getDrawable, getColor deprecated Resource로 Drawable이나 Color를 얻어오면 어떤 함수를 써야 할지 고민이 됩니다.그냥 아래 소스를 API로 만들어 놓은 후 호출하면 간편 합니다. public int getColor(Context context, int id) { final int version = Build.VERSION.SDK_INT; if (version >= Build.VERSION_CODES.M) { return context.getColor(id); } else { return context.getResources().getColor(id); } } public Drawable getDrawable(Context context, int id) { final int version = Build.VERSION.SD.. 더보기