10

Qualcuno ha ottenuto la libreria di supporto per eseguire correttamente il rendering di un layout di griglia in Android 2? Invece di 2 righe e colonne ricevo una singola riga sullo schermo e vedo questo errore nell'output logcat: Android GridLayout non riusciva a trovare il metodo android.support.v7.widget.ViewGroup.onChildVisibilityChangedGridLayout dalla libreria di supporto non mostra 2 righe su Android 2, errore onChildVisibilityChanged

lo stesso layout esatta è funziona su Android4 -> ICS quando cambio il tag di layout da android.support.v7.widget.GridLayout a GridLayout

Potrebbe esserci qualche problema con l'installazione? Ho il progetto di libreria gridlayout_v7 nella scheda Android delle mie proprietà del progetto Eclipse e il vaso v.13 si trova sul percorso di generazione.

Il layout XML in errore viene incollato di seguito. Ho aggiunto esplicitamente le righe e le colonne di layout nei tag dei pulsanti immagine per risolvere il problema. Se qualcuno ha un esempio funzionante su Android 2 con la libreria di supporto, si prega di condividere.

<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> 

risposta

36

Immagino abbiate perso l'aggiunta di spazio dei nomi XML. Si prega di correggere in questo modo:

<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> 

e non dimenticate di prefisso attributi utilizzati da GridLayout compatibilità con namespace XML troppo:

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

Speranza che aiuta ...

+0

Questo è un Bella risposta! Grazie Tomas! Hai un link a tutta la documentazione? Ho fatto molte ricerche prima di creare questo post. Il layout ha 2 file ora. Il problema successivo consiste nel centrare la griglia con margini uguali su entrambi i lati e in alto e in basso. Hai una soluzione anche per questo? – Beth

+0

@Beth dovresti controllare questa risposta se ti ha risposto – confucius

+0

ah - tocca il segno di spunta ... Ho provato a capirlo quando è arrivata questa risposta. Grazie a te @Nammari – Beth

Problemi correlati