10

有没有人得到支持库在 Android 2 中正确呈现网格布局?我在屏幕上得到一行而不是 2 行和列,并在 logcat 输出中看到此错误:Android GridLayout 找不到方法 android.support.v7.widget.ViewGroup.onChildVisibilityChanged

当我将布局标签从 android.support.v7.widget.GridLayout 更改为 GridLayout 时,相同的布局在 Android4 -> ICS 上工作

这可能是设置的问题吗?我的 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>
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 回答