검색결과 리스트
글
이것은 2차원 표 형태로 출력하는 위젯이다.
그리드 뷰는 많이들 봐 왔을 것이다.
여기에는 문자열, 이미지 모두 가능하고 다수의 데이터 중 하나를 선택 받을 경우 적합하다.
xml
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:numColumns="auto_fit"
android:columnWidth="60dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
java
package imageview.test;
import android.app.Activity;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.widget.AdapterView.*;
import android.content.*;
public class ImageViewActivity extends Activity{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView grid = (GridView)findViewById(R.id.grid);
ImageAdapter adapter = new ImageAdapter(this);
grid.setAdapter(adapter);
grid.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int index, long id){
Toast.makeText(ImageViewActivity.this, index+"선택", Toast.LENGTH_SHORT).show();
}
});
}
}
class ImageAdapter extends BaseAdapter{
Context _context;
int[] picture = {R.drawable.calendar,R.drawable.calendar,R.drawable.calendar};
public ImageAdapter(Context context){
this._context=context;
}
public int getCount(){
return 100;
}
public Object getItem(int index){
return picture[index%3];
}
public long getItemId(int index){
return index;
}
public View getView(int index, View view, ViewGroup parent){
ImageView imgview;
if(view==null){
imgview = new ImageView(_context);
imgview.setLayoutParams(new GridView.LayoutParams(45,45));
imgview.setAdjustViewBounds(false);
imgview.setScaleType(ImageView.ScaleType.CENTER_CROP);
imgview.setPadding(8,8,8,8);
}
else{
imgview = (ImageView)view;
}
imgview.setImageResource(picture[index % 3]);
return imgview;
}
}
실행을 해 보면 100개의 공간에 이미지가 들어가 있는 것을 확인 할 수가 있다.
RECENT COMMENT