달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

   

GridView

  • 뷰 객체들을 고정된 개수의 열들로 이루어진 격자(grid)형태로 배치시킵니다.
  • 격자의 각 칸에 이미지 아이콘이 배치되는 경우가 많습니다.
  • 사용자는 한 항목을 선택해서 일정한 작업을 수행할 수 있습니다.
  • 리스트뷰나 스피너는 1차원적인 데이터를 표시하지만 그리드뷰는 행과 열이 있는 2차원적인 데이터를 보여줍니다.

 

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:id="@+id/selection"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

<GridView

android:id="@+id/grid"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:verticalSpacing="35dp"

android:horizontalSpacing="5dp"

android:numColumns="auto_fit"

android:columnWidth="100dp"

android:stretchMode="spacingWidth"

android:gravity="center"

android:drawSelectorOnTop="false"

/>

</LinearLayout>

 

public class GridDemo extends Activity

implements AdapterView.OnItemClickListener {

TextView selection;

String[] items={"서울", "부산", "대구", "광주", "강릉"};

 

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.main);

selection=(TextView)findViewById(R.id.selection);

 

GridView g=(GridView) findViewById(R.id.grid);

g.setAdapter(new FunnyLookingAdapter(this,

android.R.layout.simple_list_item_1,items));

g.setOnItemClickListener(this);

}

 

public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {

selection.setText(items[position]);

 

}

private class FunnyLookingAdapter extends ArrayAdapter<String> {

Context ctxt;

 

FunnyLookingAdapter(Context ctxt, int resource,

String[] items) {

super(ctxt, resource, items);

 

this.ctxt=ctxt;

}

public View getView(int position, View convertView, ViewGroup parent) {

TextView label=(TextView)convertView;

 

if (convertView==null) {

convertView=new TextView(ctxt);

label=(TextView)convertView;

}

 

label.setText(items[position]);

 

return convertView;

}

}

}

 

 

Posted by codedragon codedragon

댓글을 달아 주세요

Spinner

  • 드롭다운 선택 기능을 구현한 클래스
  • Spinner는 AdapterView를 상속 받았습니다.

   

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent"

>

<TextView

android:id="@+id/tvSeason"

android:layout_width="match_parent"

android:layout_height="wrap_content"

/>

<Spinner android:id="@+id/spinner"

android:layout_width="match_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>

 

public class SpinnerDemo extends Activity

implements AdapterView.OnItemSelectedListener {

TextView tvSeason;

String[] items={"봄","여름","가을","겨울"};

 

@Override

public void onCreate(Bundle bundle) {

super.onCreate(bundle);

setContentView(R.layout.main);

tvSeason=(TextView)findViewById(R.id.tvSeason);

 

Spinner spin=(Spinner)findViewById(R.id.spinner);

spin.setOnItemSelectedListener(this);

 

//어댑터를 이용해 데이터 셋팅

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,

android.R.layout.simple_spinner_item,

items);

//드롭다운 화면에 표시할 리소스 지정

adapter.setDropDownViewResource(

android.R.layout.simple_spinner_dropdown_item);

spin.setAdapter(adapter);

}

 

public void onItemSelected(AdapterView<?> parent,View v,

int position, long id) {

tvSeason.setText(items[position]);

}

 

public void onNothingSelected(AdapterView<?> parent) {

tvSeason.setText("");

}

 

Posted by codedragon codedragon

댓글을 달아 주세요