본문 바로가기

ImageView

[Android][DataBinding] ImageView src에 연동 하기 (함수 연결) DataBinding이 무엇이고 기본적으로 어떻게 쓰이는지는 아래에서 확인 하면 되겠습니다.https://developer.android.com/topic/libraries/data-binding/index.html 이번 내용에서는 ImageView src에 어떻게 이미지를 연동 할 것인가에 대해 공유해보고자 합니다. 우선 ImageView에 이미지 리소스 id를 그냥 연결 하면 되지 않습니다.아래와 같이 생각하시는 분들이 있을 껍니다. 안됩니다. 안되요~~ src에 이미지를 넣기 위해서는 BindAdapter annotation을 이용하여 함수 바인딩이 필요 합니다.전 여기서 거의 몇시간을 테스트 하고 시간을 보냈는데요. 함수 바인딩을 할 때 가장 쉽게 생각 할 것이 annotation으로 연동이 된다.. 더보기
[Android] ImageView를 Width 길이에 맞춰 Height 조절 ImageView에 이미지를 그냥 넣을 경우, 화면 사이즈에 맞게 이미지가 자동으로 늘어나면 좋으려만,그렇지 않습니다. 딱! 이미지 사이즈 만큼만 뿌려주게 되지요. 그럼 어떻게 하면 될까요???아주 간단 합니다. 아래 와 같이 adjustViewBounds를 true로 해주면 됩니다. 이렇게 해주면, 이미지 width는 화면 사이즈 만큼 늘어나고 height 그에 맞게 설정이 됩니다. 참고하세요. 더보기
[Android] Glide Library 사용시 참고 사항 Glide Library를 이용하여 이미지를 로딩할 때, 아래와 같은 Exception이 발생하신 분은 한번 참고해보세요.Exception이 발생하지 않더라도 안정성을 위해 한번 보셔도 나쁘지 않을 듯 합니다. Fatal Exception: java.lang.RuntimeException: Error receiving broadcast Intent { act=refresh_main_navi_event flg=0x10 } in com.package.activity.user.MainActivity$6@283944fc at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:933) at android.os.Handler.handleCallbac.. 더보기
[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] 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] ResizableImageView ImageView 에서 width를 화면으로 가득 채우고, 해당 Image에 따라 Height를 조절하고자 할 경우,ImageView의 scaleType만으론 표현이 불가능하다. 이럴 경우 아래와 같이 ImageView를 커스텀화 해서 사용하자. public class ResizableImageView extends ImageView { public ResizableImageView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ Drawable d = getDrawable(); if(d!=nul.. 더보기
[Anroid] 라운딩된 ImageView 만들기 기본적으로 가장 이해하기 쉬운 방법은 두개의 뷰를 겹쳐서 나중에 그려지는 이미지를 배경색깔과 동일하게 하는 방법이 있습니다. 하지만, 위 방법은 배경 색깔이 단일할때만 가능합니다. 아래 사이트에 정말 좋은 샘플이 있어 공유 합니다. Drawable 자체를 타원형태로 그리는 샘플 소스 입니다. http://www.kmshack.kr/2013/07/%ED%9A%A8%EC%9C%A8%EC%A0%81%EC%9D%B8-bitmap-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%9D%BC%EC%9A%B4%EB%94%A9-%EC%B2%98%EB%A6%AC%EB%B0%A9%EB%B2%95/ 안드로이드의 Drawable을 이용해서 이미지가 draw될때 이미지를 라운딩 처리해서 그리는 방법이다. public c.. 더보기
[Android] ImageView 에서 AnimationDrawable 설정 기본적으로 아래와 같이 ImageView의 background나 src에 Animation 되어 있는 xml을 넣어두면문제 없이 애니메이션이 동작이 되었습니다. drawable_animation.xml layout.xml 이렇게 하면 왠만한 폰에서 동작이 잘 이뤄 집니다.하지만!!! 넥서스 시리즈 등 몇개의 폰에서는 애니메이션 효과가 나지 않는 것을 확인 할 수 있습니다.이건 AnimationDrawable을 start 해주지 않아서 발생한 문제 입니다. 소스에 아래와 같은 코드를 추가 합니다.ImageView ani = (ImageView) findViewById(R.id.ani); AnimationDrawable frameAnimation = (AnimationDrawable) ani.getDrawa.. 더보기