10

有沒有人獲得支持庫以在Android 2中正確呈現網格佈局?而不是2行和列我得到屏幕上的單行,並看到logcat輸出中的這個錯誤: Android GridLayout找不到方法android.support.v7.widget.ViewGroup.onChildVisibilityChanged支持庫中的GridLayout在Android 2上不顯示2行onChildVisibilityChanged錯誤

相同的確切佈局是在Android4上工作 - > ICS當我將佈局標記從 android.support.v7.widget.GridLayout更改爲GridLayout

請問這是設置的問題嗎?我在Eclipse項目屬性的Android選項卡中有gridlayout_v7庫項目,v.13 jar在構建路徑中。

下面粘貼失敗的XML佈局。爲了解決這個問題,我在圖片按鈕標籤中明確添加了佈局行和列。如果任何人有支持庫的Android 2上運行的工作示例,請分享。

<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:columnCount="2" android:rowCount="2" 
android:gravity="center_vertical" 
android:layout="@drawable/bg_test_main" > 

<ImageButton android:id="@+id/btnSentence" 
android:layout_row="0" 
android:layout_column="0" 
android:src="@drawable/testa_btn" 
android:contentDescription="@string/spin_fill_in" 
android:background="@android:color/transparent" 
/> 
<ImageButton android:id="@+id/btnAudio" 
android:layout_row="0" 
android:layout_column="1" 
    android:src="@drawable/testb_btn" 
android:contentDescription="@string/audio_quiz" 
android:background="@android:color/transparent" 
/> 
<ImageButton android:id="@+id/btnPickWord" 
android:layout_row="1" 
android:layout_column="0" 
android:src="@drawable/testc_btn" 
android:background="@android:color/transparent" 
android:contentDescription="@string/def_pick_word" /> 

<ImageButton android:id="@+id/btnPickDef" 
android:layout_row="1" 
android:layout_column="1" 
android:src="@drawable/testd_btn" 
android:background="@android:color/transparent" 
android:contentDescription="@string/pick_def" /> 

</android.support.v7.widget.GridLayout> 

回答

36

我想你錯過了添加XML命名空間。請這樣更正:

<android.support.v7.widget.GridLayout 
    xmlns:grid="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
... 
</android.support.v7.widget.GridLayout> 

,不要忘記前綴使用兼容性GridLayout的XML命名空間過於屬性:

<ImageButton android:id="@+id/btnSentence" 
    grid:layout_row="0" 
    grid:layout_column="0" 
    ... 
/> 

希望它可以幫助...

+0

這是一個很好的回答!謝謝Tomas!你有鏈接到任何文檔?在創建這篇文章之前,我做了很多搜索。該佈局現在有2行。接下來的問題是讓柵格在每邊以及頂部和底部以相等的邊界爲中心。你也有解決的辦法嗎? – Beth

+0

@你應該檢查這個答案,如果他回答了你 – confucius

+0

啊 - 觸摸對號......當這個答案進來時,我試圖找出答案。感謝你@Nammari – Beth