일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 구글안드로이드
- 안드로이드 개발 2.0
- 안드로이드2.0
- 스마트폰 배경화면
- 영어
- 안드로이드 개발 2.0 강좌
- MapView
- 안드로이드 2.0 개발
- SKY 시리우스
- objective-c
- 안드로이드 개발
- 스카이 안드로이드폰 시리우스 K양 동영상
- 하루 한마디 영어
- 구글 안드로이드
- 안드로이드 바탕화면
- 안드로이드 배경화면
- 구글 안드로이드 개발
- 안드로이드개발
- 안드로이드 개발 강좌
- android
- 스카이 안드로이드폰 시리우스
- 안드로이드폰
- sky 시리우스폰
- 인기있는 블로그 만들기
- 하루한마디영어
- 아이폰 배경화면
- 아이폰 바탕화면
- 안드로이드
- 안드로이드2.0개발
- Form Stuff
- Today
- Total
moozi
GridView 구현하기 본문
GridView는 아이템들을 2차원 격자 형태로 보여줍니다. 스크롤을 지원해서 스크롤하면서 볼 수 있습니다.
다음은 GridView를 이용해서 이미지를 출력한 모습입니다.
GridView에 관해서 안드로이드 개발자 사이트의 내용을 토대로 살펴봅니다.
1. 이클립스에서 다음과 같이 프로젝트를 생성합니다.
2. 다음 그림들을 바탕화면에 다운 받은 다음 왼쪽 프로젝트 탐색기의 res -> drawable-hdpi 폴더에 끌어다 놓습니다.
위의 그림들을 끌어다 놓으면 다음과 같이 됩니다.
3. 왼쪽 프로젝트 탐색기의 res -> layout -> main.xml 을 열어 다음 코드를 붙여넣기 합니다.
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
4. 왼쪽 탐색기에서 src -> my.HelloGridView -> HelloGridView.java 를 열어서 다음 코드를 붙여넣기 합니다.
package my.HelloGridView;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
public class HelloGridView extends Activity {
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
}
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
// references to our images
private Integer[] mThumbIds = {
R.drawable.f1, R.drawable.f2,
R.drawable.f3, R.drawable.f4,
R.drawable.f5, R.drawable.f6
};
}
}
코드를 살펴보면 ImageAdapter 클래스(굵은 글씨로 표현된 부분)가 HelloGridView 클래스 내부에 추가로 정의 되어 있습니다.
private Integer[] mThumbIds = {
R.drawable.f1, R.drawable.f2,
R.drawable.f3, R.drawable.f4,
R.drawable.f5, R.drawable.f6
};
위 코드를 보면 mThumbIds 배열에 출력할 이미지들을 정의하고 있습니다. 위에서 res -> drawable-hdpi 폴더에 넣어둔 이미지들의 파일명을 사용했습니다.
5. CTRL + F11 로 실행합니다.
'안드로이드개발강좌' 카테고리의 다른 글
안드로이드 개발자 사이트가 IE6.0에서 다시 열립니다. (0) | 2010.01.15 |
---|---|
Activity 이야기 (6) | 2010.01.14 |
ListView 구현하기 (8) | 2010.01.13 |
자동완성텍스트뷰( AutoCompleteTextView ) 구현하기 (16) | 2010.01.09 |
스피너(Spinner) 구현하기 (9) | 2010.01.08 |