본문 바로가기

android

[Android] RadioButton에서 텍스트와 간격 넓히기 RadioButton을 Custom 화 시켜서 Icon을 변경해서 많이 씁니다. Icon 변경은 간단하게 button에 넣으면 끝인데요. 아래와 같이~btn_radio.xml 아이콘만 놓는 다면 문제가 없습니다. 하지만, 아이콘 과 텍스트를 같이 쓰고자 하시는 분들 중에 그 사이에 Margin을 넣고 싶을 경우가 있습니다.아무것도 하지 않으면 아이콘과 텍스트가 딱 붙어 있으니깐요. 그럼 어떻게 해야하느냐???구글링을 하다보면 button을 이용하지 말고 drawableRight나 Left를 이용해서 아이콘을 두고 Padding으로 조절하라고 합니다.참조 : http://stackoverflow.com/a/12568118/3534559 하지만, 제가 하고자 하는 것은 그냥 우측에 나오는 텍스트에 간격만 주.. 더보기
[Android] Edittext에 포커스 주기 Edittext에 포커스를 주고자 하시는 분은 아래 소스를 참고 해보세요. edittext.post(new Runnable() { @Override public void run() { edittext.setFocusableInTouchMode(true); edittext.requestFocus(); InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(edittext,0); } });여기서 꼭 참고할 사항은 edittext에 post runnable을 던진 것이다.edittext UI 변경 차례를 기다리는 것이다.준비가 되지 않은 상태에서 UI를 변경 시킬려고 .. 더보기
[Android] EditText에 NextFocus 설정 EditText에서 다음 포커스를 설정 할때 아래와 같이 id 값으로 xml에서 간단하게 설정 할 수 있습니다. 요렇게요. 하지만, 혹시 Java 소스 단에서 Programmatically 하게 제어 하고 싶으시다면 setOnEditorActionListener 리스너를 이용하시면 됩니다. edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) { if (actionId == EditorInfo.IME_ACTION_NEXT) { // 특정 동작 지정 return t.. 더보기
[Andorid] Vertical RecyclerView 안에 Horizontal RecyclerView 스크롤 이건 괜찮은 블로그 내용이 있어서 공유 합니다. http://nerds.headout.com/fix-horizontal-scrolling-in-your-android-app/ 제가 이해한 블로그 내용은 RecyclerView는 스크롤 방향만 신경 쓰지, 움직이는 각도에 신경을 쓰지 않는다는 애기 입니다.@Override public boolean onInterceptTouchEvent(MotionEvent e) { ... switch (action) { case MotionEvent.ACTION_DOWN: ... case MotionEvent.ACTION_MOVE: { ... if (mScrollState != SCROLL_STATE_DRAGGING) { boolean startScroll = false.. 더보기
[Android] IAPHelper handleActivityResult 안드로이드 인앱 결제를 하고자 한다면, 누구든지 TrivialDrive (https://github.com/googlesamples/android-play-billing) 샘플 소스를 한번 정도 테스트 해봤을 것이다. 이번 내용에서 인앱 결제 샘플 소스에서 IapHelper에 정의된 값으로 넘어오지 않아 고민하는 분들에게 참고드리고자 올린다.(정말 간단한 내용이라.. 올리기도 그렇지만 자그마한 도움이라도 됐으면 해서...) IapHelper 클래스에 보시면 아래와 같이 정의가 되어 있습니다. // Billing response codes public static final int BILLING_RESPONSE_RESULT_OK = 0; public static final int BILLING_RESPON.. 더보기
[Android] Tmp detached view should be removed from RecyclerView before it can be recycled 혹시 아래와 같은 에러 보신 분들은 참고 하세요. Tmp detached view should be removed from RecyclerView before it can be recycled 이건 RecyclerView가 삭제나 추가등 수정이 이뤄지고 있는 동안에 이벤트 적으로 다른 동작이 이뤄질 때 발생한 에러 입니다. 즉, RecyclerView에 있는 이미지를 클릭하면 확대하는 기능이 있습니다. 이미지를 클릭 하는 동시에 RecyclerView에 새로운 데이터가 추가 되는 현상이 발생 한 것이죠.이미지 확대 애니메이션이 동작 중인데 RecyclerView 해당 리스트가 변경이 되는 것이죠. 아~ 그럼 애니메이션 동작 할 때마다 RecyclerView를 체크 해야 하는 건가?그럴 필요 없습니다.애니.. 더보기
[Android] 메소드 수 확인 방법 APK 생성 시 사용되는 클래스와 메소드를 확인 하고 싶을 경우 아래 두 오픈 소스를 이용 합니다. ## dexcounthttps://github.com/KeepSafe/dexcount-gradle-plugin 위 github에 가셔서 다운 받으시면 됩니다. ## Classy shark https://github.com/google/android-classyshark 위 github에 가셔서 다운 받아 사용 하실 수 있지만,좀더 간편하게 이미 빌드된 jar 파일을 첨부 하겠습니다. 위 파일을 받고 아래와 같이 실행 하면 프로그램이 실행 됩니다. java -jar ClassyShark.jar 프로그램이 실행 되면 확인 하고 싶은 apk를 선택만 해주면클래스 리스트와 사용중인 메소드 카운트를 확인 하실 수 .. 더보기
[Android] Cannot call this method while RecyclerView is computing a layout or scrolling Cannot call this method while RecyclerView is computing a layout or scrolling 위 에러는 RecyclerView 에서 notify 관련 함수(notifyDataSetChanged, notifyItemChanged 등등)을 사용할 때 자주 발생 한다.무슨 에러 일까.... RecyclerView 가 레이아웃을 계산 하고 있거나 스크로링 하는 동안 에는 사용 할 수 없다! 라는 문구이다. 그래서 난 UI 쓰레드(runOnUiThread) 를 사용 하면 되나 했더니.. 그것도 안되고 에러를 품어 낸다. 결국 구글링을 열심히 해봤다. 대답은 대부분이 Handler를 만들어 post로 던져라 이다.참고 : http://stackoverflow.com/a.. 더보기