달력

1

« 2020/1 »

  • 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

댓글을 달아 주세요

3행 3열/4열의 수평 그리드 레이아웃

   

   

강의 내용

activity_main.xml

LinearLayout(Vertical) 변경

Graphical Layout > Form Widgets-TextView 추가

Graphical Layout > Layouts-GridLayout 추가

-android:columnCount="3"

-android:rowCount="3"

-Graphical Layout > Form Widgets-Button추가 X7

   

Graphical Layout > Form Widgets-TextView 추가

Graphical Layout > Layouts-GridLayout 추가

-android:columnCount="4"

-Graphical Layout > Form Widgets-Button추가 X7

  

AndroidManifest.xml

<uses-sdk android:minSdkVersion="14"

   

   

AndroidManifest.xml 수정

GridLayout은 API 14(안드로이드 4.0)부터 사용 가능하기 때문에 AndroidManifest.xml의 min SDK버전을 14이상으로 설정해줘야 사용가능합니다.

이하 버전일 경우 인스톨이 되지 않고 에러가 납니다. 인스톨이 되었어도 기능사용시 에러남

   

   

   

 

   

출력 결과

   

Posted by codedragon codedragon

댓글을 달아 주세요