2012-09-18 3 views
2

GridView을 java로 만들고 싶습니다. XML을 사용하고 싶지 않습니다. 아래 예제는 XML을 레이아웃으로 사용합니다. 그것은 3 열을 보여줍니다. Java 만 사용하여 설정을 수행하려고합니다.Android 프로그래밍에서 XML을 사용하지 않고 Java로 GridView를 만드는 방법은 무엇입니까?

내 활동에

, 대신

나는 GridView gv = new GridView (this);를 사용합니다.

지금 내 유일한 문제는 단 1 열을 가지고 것입니다.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<GridView 
    android:id="@+id/gridview" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:columnWidth="90dp" 
    android:numColumns="auto_fit" 
    android:verticalSpacing="10dp" 
    android:horizontalSpacing="10dp" 
    android:stretchMode="columnWidth" 
    android:gravity="center"/> 

</LinearLayout> 
+3

"XML을 사용하고 싶지 않습니다"- 왜 그런가요? – CommonsWare

답변

2

android:numColumns 코드에 상응 setNumColumns(int)이다. ID와 같은 경우에는 View 문서로 돌아 가야합니다. 너비와 높이는 LayoutParams로 설정됩니다.

+0

내 GridView의 그림에 테두리를 추가하는 방법에 대한 아이디어가 있습니까? – Stella

2

안드로이드 Developer.Com에

GridView Documentation이보십시오.

GridView gv = new GridView(context); 
gv.setId(999999); 
gv.setLayoutParams(new  
GridView.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); 
gv.setBackgroundColor(Color.GREEN); 
gv.setNumColumns(3); 
gv.setColumnWidth(GridView.AUTO_FIT); 
gv.setVerticalSpacing(5); 
gv.setHorizontalSpacing(5); 
gv.setStretchMode(GridView.STRETCH_COLUMN_WIDTH); 
gv.setGravity(Gravity.CENTER); 
+0

Gridview에서 내 그림에 테두리를 추가하는 방법에 대한 아이디어가 있습니까? – Stella

+0

gridview에서 사진의 테두리 적용에 대한 아래 링크를 참조 할 수 있습니다 (http://stackoverflow.com/questions/8910129/how-can-i-create-a-rounded-rectangular-border-for-gridview-on-android).) – Hemant

관련 문제