[안드로이드] 안드로이드스튜디오(Android Studio) 갤러리(Gallery) 이미지에 액자(Photo frame) 모양 설정하기, 갤러리 클릭했을 때 큰 이미지 보이게 하기, 안드로이드 예제, 안드로이드 강좌
참고 : 이미지서명은 제 와이프 블로그 이미지서명입니다.
안녕하세요 정보처리마법사 입니다.
이번 포스팅의 주제는 안드로이드 갤러리(Gallery) 이미지에 액자모양 설정하기및 갤러리를 클릭했을 때 이미지뷰에 큰 이미지 보이게 하기에 관한 내용입니다.
먼저 액자 설정부터 살펴보겠습니다. 갤러리 이미지에 액자를 설정하기 위해서는 각각의 이미지에 액자모양의 배경을 설정해야 합니다. 이미 안드로이드에서 액자를 제공하고 있으므로 이를 설정하기만 하면 됩니다.
res/values/styles.xml 파일의 처음 모습은 이렇습니다. 테마가 자동으로 정해져있군요 저 테마는 신경쓰지 않으셔도 됩니다.
이미지 액자로 사용할 배경 스타일을 선언합니다.
<declare-styleable> </declare-styleable>
레이아웃 XML로 가서 Gallery 컨테이너를 드래그 해서 화면에 넣습니다. Gallery에 취소선이 있는 이유는 앞서 설명해드린 바 있으므로 링크를 참고 하시면 되겠습니다.
Layout XML 을 Text 모드로 보면 대략 이렇습니다. 갤러리 아이디가 gallery이고 width 가 match_parent고 height가 wrap_content 라는 것 정도만 보면 되겠습니다.
메인액티비티 자동 생성되는 기본 소스코드의 모습입니다.
일단 용량이 작은 테스트용 이미지 5개만 Ctrl+C 하여 사용하겠습니다.
res/drawable 에 Crtl+V 해서 붙여넣었습니다.
전체 소스코드는 이렇습니다.
미리 선언된 속성을 가지고 이미지 배경에 설정할 리소스 아이디를 얻습니다. 그리고 TypedArray객체에서 반드시 recycle()메소드를 호출해서 사용한 자원을 해지하여야 합니다 32~36Line이 그 내용입니다. 클래스 생성자 안에 선언하였습니다.
갤러리 액자 모양 설정하기 전에 갤러리에 관한 포스팅을 하였습니다. getView() 메소드 등 이하 내용은 거의 동일하니 링크를 참조하시길 바랍니다.
[ 갤러리(Gallery)에 관한 포스팅 링크 새창열기 ]
디바이스 테스트를 해보니 아주 잘 됩니다.
그리고 갤러리를 클릭했을 때 큰 이미지 보이게 하기에 관해 살펴보겠습니다.
일단 레이아웃 XML에서 이미지뷰(ImageView)를 하나를 추가합니다.
메인액티비티 전체 소스코드는 이렇습니다.
gallery객체에 setOnItemClickListener 가 추가된 것 말고는 크게 다른 내용은 없습니다.
클릭리스너 관련 내용은 아래 링크를 참조하시길 바랍니다.
[ 뷰에 클릭 이벤트 적용하기 , 이벤트 리스너 사용 예 링크 새창열기 ]
나머지 소스는 같습니다.
이 또한 디바이스에서 테스트를 하니 아주 잘 작동합니다.
이상으로 포스팅을 마칩니다. 감사합니다.
참고서적 : 200개의 단계별 예제로 배우는 안드로이드 4.0 [제이펍]
Fin.
잘 못 된 정보가 있으면 말씀해주세요~
공감버튼 클릭은 작성자에게 큰 힘이 됩니다. 행복한 하루 되세요.