2014-02-11 126 views
1

我使用的GridLayout在Android應用中,但我有一個顯示問題,的Android網格佈局顯示

我用setColumnCount有3列,因爲我必須添加每行3個元素,所以它應該對齊。

layout1 = new GridLayout(this); 
layout1.setColumnCount(3); 

//In a loop later in the code : 
layout1.addView(textView1); 
layout1.addView(cb); 
layout1.addView(textView2); 

3項不與行對齊,但他們都在第一列,我真的不明白這個問題。

回答

1

使用的LayoutParams爲您的孩子視圖

GridLayout gridLayout = new GridLayout(this); 
gridLayout.setColumnCount(colCount); 
gridLayout.setRowCount(rowCount); 

GridLayout.LayoutParams third = new GridLayout.LayoutParams(0, 0); 
textView1.setLayoutParams(third); 
gridLayout.addView(textView1, third); 

GridLayout.LayoutParams fourth = new GridLayout.LayoutParams(0, 1); 
cb.setLayoutParams(fourth); 
gridLayout.addView(cb, fourth); 

GridLayout.LayoutParams fifth = new GridLayout.LayoutParams(0, 2); 
textView2.setLayoutParams(fifth); 
gridLayout.addView(textView2, fifth); 
+0

它不工作,月食說,構造函數不存在 – user3244162

+1

這是僞代碼,嘗試http://developer.android.com/reference /android/widget/GridLayout.LayoutParams.html ... –

+0

最後謝謝你的作品! – user3244162

0

應指定的細胞會在您的addView方法,查看。 This docGridLayout.addView可能會幫助你。

0

也許,如果它是靜態的,它會永遠是3項,你可以在水平方向的XML設置的LinearLayout。

0

你試過嗎? :

<GridView 
     android:id="@+id/photo_grid" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="10dp" 
     android:numColumns="3" > 

</GridView> 

而且使1個自定義XML:

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

    <ImageView 
     android:id="@+id/img_photo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleType="fitXY" 
     android:layout_margin="5dp" 
     android:src="@drawable/img_photo_caption" /> 

</LinearLayout>