10

Android 2でグリッドレイアウトを正しくレンダリングするためのサポートライブラリを入手した人はいますか?2つの行と列の代わりに、画面に1つの行が表示され、logcatの出力に次のエラーが表示されます。AndroidGridLayoutがメソッドandroid.support.v7.widget.ViewGroup.onChildVisibilityChangedを見つけられませんでした

レイアウトタグをandroid.support.v7.widget.GridLayoutからGridLayoutに変更すると、Android4->ICSでもまったく同じレイアウトが機能します。

これはセットアップの問題でしょうか?Eclipseプロジェクトプロパティの[Android]タブにgridlayout_v7ライブラリプロジェクトがあり、v.13jarがビルドパスにあります。

失敗しているXMLレイアウトは以下に貼り付けられています。この問題を回避するために、画像ボタンのタグにレイアウトの行と列を明示的に追加しました。サポートライブラリを備えたAndroid2で実行される実例がある場合は、共有してください。

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

1 に答える 1

37

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"
    ...
/>

それが役に立てば幸い...

于 2012-05-21T14:42:53.833 に答える