2012-06-20 43 views
3

我正在嘗試做一個類似於網格佈局的佈局,但我對內置的Android 2.0內存有所限制Android 2.0中的GridLayout?

有沒有人有任何想法?

<?xml version="1.0" encoding="UTF-8"?> 
<GridLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:columnCount="2" 
    android:rowCount="13" > 

    <TextView 
     android:layout_gravity="fill_horizontal" 
     android:text="SN : " /> 

    <TextView 
     android:id="@+id/snTextView" 
     android:layout_gravity="fill_horizontal" /> 


    <TextView 
     android:layout_gravity="fill_horizontal" 
     android:text="Ver : " /> 

    <TextView 
     android:id="@+id/verTextView" 
     android:layout_gravity="fill_horizontal" /> 

    <TextView 
     android:layout_gravity="fill_horizontal" 
     android:text="Type : " /> 

    <TextView 
     android:id="@+id/typeTextView" 
     android:layout_gravity="fill_horizontal" /> 

    <TextView 
     android:layout_gravity="fill_horizontal" 
     android:text="OD : " /> 

    <TextView 
     android:id="@+id/odTextView" 
     android:layout_gravity="fill_horizontal" /> 

    <TextView 
     android:text="Closing Mode" 
     android:layout_gravity="fill_horizontal" /> 

    <TextView 
     android:id="@+id/closingModeTextView" 
     android:layout_gravity="fill_horizontal" /> 

    <TextView 
     android:text="CT : " 
     android:layout_gravity="fill_horizontal" /> 

</GridLayout> 

編輯:

嗯,我已經開始編碼約半小時前在.xml文件,我會後上面的代碼。看看它的第一部分看起來如何,我去了圖形佈局,並出現以下錯誤...

「com.android.layoutlib.bridge.MockView無法轉換爲android.view.ViewGroup異常詳細信息記錄在窗口>顯示視圖>錯誤日誌 以下類找不到: - 網格佈局(修正構建路徑,編輯XML)」

我想這可能是別的東西是錯的,但在圖形佈局托盤GridLayout未列出,其餘部分爲(線性(vert/hoz),相對,框架,片段,表格等)

+0

自API 1以來,GridView一直在android中。你應該能夠把它關閉。 http://developer.android.com/reference/android/widget/GridView.html http://developer.android.com/resources/tutorials/views/hello-gridview.html – petey

+2

@forgivegod:'GridLayout'! ='GridView'。 ;) –

+0

啊,我也沒有注意到,謝謝MH。我有點緊張。 – JuiCe

回答

9

GridLayout已經揹負與API等級7以上兼容。它是(某種)支持庫的一部分。您已經下載了支持庫後,你會發現在您的本地SDK文件夾一個Android庫項目位於:

<sdk_folder>\extras\android\compatibility\v7\gridlayout 

將其設置爲你工作項目的依賴。之後,您需要確保您將整個項目中的任何引用指向該版本,而不是15級版本,以支持ICS之前的設備。如果不相同,用法應該是相似的。

參見:Grid Layout support in android API 10

+0

我已經去了其他線程提供的網站,從SDK下載了支持包,並將其添加到我的項目中的libs文件夾中,右鍵單擊.jar文件並單擊添加到構建路徑,但現在不需要知道做什麼。指示停在另一個網站上,說我的應用程序現在可以使用庫API了。有任何想法嗎?我嚴格使用它的XML文件。 – JuiCe

+0

@JuiCe:如上所述:'GridLayout'不是支持庫jar的一部分,但它被設置爲一個庫項目。因此,你需要添加一個對它的引用,包括jar。 GridLayout庫項目的位置由上面的路徑給出。如果您在設置時仍遇到問題,可能需要[閱讀此處的步驟](http://stackoverflow.com/q/10133078/1029225)。 –

2

GridView控件是一個選項,如果你想有一個在每行的列數相等的佈局。好的一面是,你可以定義一個適配器來將它分配給gridView,它將容納你所有的視圖。你可以在android上找到大量的例子。

現在的另一種選擇是,你需要一個佈局,在每一行中實際上不會有相同數量的列(與Google Play應用程序相同)。在這種情況下,你仍然可以使用GridLayout。它的兼容性庫中提供了最新版本。它可以作爲一個庫項目添加到您的應用程序中,並使用它與您在Android 4.0+中使用它完全相同的方式。我認爲這也需要添加兼容性庫。我不認爲在這一點上你會發現很多關於如何實現將兼容性網格佈局添加到項目中的文檔,但它與添加任何庫項目相同。您可以在兼容性v7下的android sdk文件夾中找到項目代碼。