반응형
|
안드로이드(Android) HorizontalScrollView 이용해 이미지 갤러리 만들기 – 1부 |
|
개발환경 : window 7 64bit, Eclipse Kepler, Android 4.2.2 |
|
작업을 하다 보면 가로로 객체들을 배열 할때가 있습니다. 이번 예제는 이미지들을 상단에 고정하고 갤러리 형태로 표현하였습니다. 이미지들이 많을 경우 가로 스크롤이 생기며 화면을 이리저리 드래그 해서 움직일수 있습니다. |
우선 XML 을 사용하지 않고 레이아웃을 만들었습니다.
먼저 LinearLayout 을 만들고 LinearLayout.ORIZONTAL
옵션으로 가로 배치를 합니다.
그리고 이미지들의 배열을 만듭니다.
mBtnLayout = new LinearLayout(context);
/** 가로로 자식들을 배치 함 */
mBtnLayout.setOrientation(LinearLayout.HORIZONTAL);
Integer[] mImageIds = {
R.drawable.view01,
R.drawable.view02,
R.drawable.view03,
R.drawable.view04,
R.drawable.view05
};
이렇게 배열로 만든 이미지를 ImageView 객체에
For 문을 돌면서 셋팅을 합니다. 이미지를 표현할 때
setScaleType 에 FIT_XY 를 넣어 레이아웃에 가로 세로로
채워넣습니다.
/** 이미지 추가 */
for (int cnt = 0; cnt < mImageIds.length; cnt++) {
ImageView i = new ImageView(context);
i.setImageResource(mImageIds[cnt]);
i.setLayoutParams(new LayoutParams(150, 100));
i.setScaleType(ImageView.ScaleType.FIT_XY);
mBtnLayout.addView(i);
}
위에서 셋팅한 LinearLayout 객체에 가로 스크롤을
표현할수 있는 HorizontalScrollView 에 addView 를
이용해 추가합니다.
mHorizentalScrollView = new HorizontalScrollView(context); mHorizentalScrollView.addView(mBtnLayout); addView(mHorizentalScrollView);
이 샘플은 리소스에 이미지를 넣고 xml 을 소스로
표현하여서 메인 소스 밖에는 없습니다.
전체소스는 아래와 같습니다.
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class SampleActivity1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new HorizentalScrollViewMainView(this));
}
private class HorizentalScrollViewMainView extends LinearLayout {
public HorizontalScrollView mHorizentalScrollView;
public LinearLayout mBtnLayout;
public HorizentalScrollViewMainView(Context context) {
super(context);
mBtnLayout = new LinearLayout(context);
/** 가로로 자식들을 배치 함 */
mBtnLayout.setOrientation(LinearLayout.HORIZONTAL);
Integer[] mImageIds = {
R.drawable.view01,
R.drawable.view02,
R.drawable.view03,
R.drawable.view04,
R.drawable.view05
};
/** 이미지 추가 */
for (int cnt = 0; cnt < mImageIds.length; cnt++) {
ImageView i = new ImageView(context);
i.setImageResource(mImageIds[cnt]);
i.setLayoutParams(new LayoutParams(150, 100));
i.setScaleType(ImageView.ScaleType.FIT_XY);
mBtnLayout.addView(i);
}
mHorizentalScrollView = new HorizontalScrollView(context);
mHorizentalScrollView.addView(mBtnLayout);
addView(mHorizentalScrollView);
}
}
}
프로그램을 실행한 모습입니다. 가로로 이미지를
움직이게 되면 스크롤이 나타나게 되며 이동이
가능해집니다.
반응형
'안드로이드 개발' 카테고리의 다른 글
| 안드로이드(Android) OS 버전과 시스템정보 알아오기 (0) | 2014.10.23 |
|---|---|
| 안드로이드(Android) 저장소(Sdcard) 에서 읽어온 파일이 이미지인지 판단하기 (0) | 2014.10.23 |
| 안드로이드(Android) google map API v2 에서 지도에 마커설정하기 (1) | 2014.10.22 |
| 안드로이드(Android) HorizontalScrollView 이용해 이미지 갤러리 만들기 – 2부 (0) | 2014.10.22 |
| 안드로이드(Android) XML 을 사용하여 이미지 버튼 배경 로딩하기 (0) | 2014.10.13 |
| 안드로이드(Android) SeekBar 로 배경색 변경하기 (0) | 2014.10.09 |
| 안드로이드(Android) android.util.DisplayMetrics 이용해 해상도를 측정하는 코드 (0) | 2014.09.27 |
| 안드로이드(Android) 미리 정의된 테마를 AndroidManifest.xml 적용하기 (0) | 2014.09.25 |
