본문 바로가기

android

[Android] RecyclerView last position listener https://guides.codepath.com/android/Endless-Scrolling-with-AdapterViews-and-RecyclerView 위 URL을 가보시면 ListView와 GridView 그리고 RecyclerView에서 Last Position을 알아보는 소스가 공유 되어 있습니다. 아래 2016년 1월 버전보다 업데이트가 된 내용이라 공유 해드립니다.(참고로 이전 버전은 ScrollListener를 초기화 하는데 문제가 있었습니다.) 아래 소스는 RecyclerView에 적용 할 수 있는 소스 입니다. public abstract class EndlessRecyclerViewScrollListener extends RecyclerView.OnScrollListener { /.. 더보기
[Android] 화면 전체 사이즈 구하기 아래 함수를 호출 한다.public Point getScreenSize(Activity activity) { Display display = activity.getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); return size; } 위 상태에서 width : size.x height : size.y 값을 이용하면 된다. Library나 예제 소스에 간혹 아래와 같이 호출을 하는데 int screenHeight = parentLayout.getRootView() .getHeight();위와 같은 방법을 쓰면 최신 버전에서 전혀 다른 값이 나올 수 있다.예를 들어 제가 Nexus4 로 테스트 해본 .. 더보기
[Android] skipped frames the application may be doing too much work on its main thread skipped frames the application may be doing too much work on its main thread 위와 같은 Warning 메세지는 메인 쓰레드 동작이 갑자기 느려 지는 구간이 있을 때 발생 한다. 여러 가지 원인이 있겠지만, 제가 경험해봤을때 가장 많이 나타나는 것이 !!! 너무 큰 이미지를 여러장 불렀을 때 이다!!!! 핸드폰 풀 사이즈가 1080x1920 인데 만약 1000x1000 짜리 이미지를 여러개 한꺼번에 불러올 필요가 있을까??? 만약 있다고 하더라도 좀더 낮춰서 불러오거나 미리 불러와서 준비를 해두는게 효과적일 듯 하다. 위 Warning 때문에 고생하시는 분들 먼저 이미지나 파일을 체크해봐라! 더보기
[Android] String 에서 Html Tag만 제거하는 방법 제목 그대로 Html Tag가 포함된 문자열에서 String 값만 빼오는 방법 이다. public String stripHtml(String html) { return Html.fromHtml(html).toString(); }http://stackoverflow.com/a/7389663/3534559 정말 최고의 방법 인듯!!! 참고하세요. 더보기
[Android][Git] commit failed with error bad signature commit failed with error bad signature ... 위와 같은 오류가 뜬 경우는 Git에 Index가 꼬였을 때 발생 합니다. 이럴 경우 Git을 reset 해야 합니다. 1. 윈도우 cmd 창을 연다.2. Android Studio Project 폴더로 이동 한다.3. 아래 명령어를 차례대로 입력하세요. cd .gitdel index ( 리눅스는 rm -rf index )cd .."c:\Program Files (x86)\Git\bin\git.exe" reset (또는 git 실행 파일을 Path 지정 하세요) 명령어가 완료 되고 나면 Android Studio에서 git 동작이 정상적으로 이뤄질껍니다. 참고하세요. 더보기
[Android] View Background를 Rounded corner 형태로 반영 RecyclerView나 ListView와 같은 여러 View가 묶어서 표현해야 하는 View에서 Corner 부분만 라운드를 시키고자 할때,가장 쉽게 생각할 수 있는 부분이 Background에 Rounded된 이미지를 넣는 것으로 어느정도 해결이 된다. 하지만, 이 외에도 한가지 더 좋은 방법이 있다.Rounded Corner 형태의 Drawable을 xml로 그리는 것이다.그게 아래 소스이다. 위 속성에서 corners 라는 값을 가지고 Corner에 Rounding 정도를 체크 할 수 있다. ## 위 형태로도 문제없이 동작이 가능 하면 좋지만, RecyclerView 나 ListView 등에서 row에 있는 View가 튀어 나오는 경우가 있습니다. 그럴 경우 아래와 같이 clip 을 한번 해줘보세.. 더보기
[Android] Background animation에 쓸만한 TransitionDrawable 혹시 RadioButton 이나 Switch 관련된 View를 사용하고자 할 경우, 한번 고려해보면 나쁘지 않을 것이다.그냥 xml로 정의 해서 background에 넣는 방법이 있고, 직접 코드에 넣을 수도 있다. 1. xml로 정의 res/drawable 폴더안에 btn_transition_drawable.xml 라는 xml 파일을 만들어 놓고, 아래 소스대로 코딩 합니다. 그 다음, 사용하고자 하는 View background에 위 xml로 설정 합니다.이로써 설정은 끝났습니다.이제 TransitionDrawable에 Animation을 동작하게 하는 코드만 넣어주면 됩니다.코드는 아래와 같습니다.// set background animation Drawable drawable = findViewB.. 더보기
[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.. 더보기