【问题标题】:GridLayout in Android 2.0?Android 2.0 中的网格布局?
【发布时间】:2012-06-21 03:28:28
【问题描述】:

我正在尝试制作类似于网格布局的布局,但我受限于 Android 2.0

有人有什么想法吗?

<?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 异常详情记录在 Window>Show View> Error Log 找不到以下类: - GridLayout(修复构建路径,编辑 XML)"

我猜可能是其他地方出了问题,但是在图形布局调色板中没有列出 GridLayout,而其余的是(Linear(vert/hoz)、Relative、Frame、Fragment、Table 等)

【问题讨论】:

标签: android


【解决方案1】:

GridLayout 已向后移植以与 API 级别 7 及更高级别兼容。它是(某种)支持库的一部分。下载支持库后,您会在本地 sdk 文件夹中找到一个 Android 库项目:

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

将其设置为您正在处理的项目的依赖项。之后,您需要确保将整个项目中的所有引用都指向该版本,而不是 15 级版本,以支持 ICS 之前的设备。用法应该是相似的,如果不相同的话。

另请参阅:Grid Layout support in android API 10

【讨论】:

  • 我已经去了另一个线程中提供的网站,从SDK下载了支持包,将其添加到我项目的libs文件夹中,右键单击.jar文件并单击添加到构建路径,但现在不知道该怎么办。其他网站上的指示停在那里,说我的应用程序现在可以使用库 API。有任何想法吗?我将它严格用于 XML 文件。
  • @JuiCe:如上所述:GridLayout 不是支持库 jar 的一部分,但它被设置为库项目。因此,除了包含 jar 之外,您还需要添加对它的引用。 GridLayout 库项目的位置由上面的路径给出。如果您在设置时仍然遇到问题,您可能需要read through the steps here
【解决方案2】:

如果您希望布局中每行具有相同数量的列,则 GridView 是一种选择。这样做的好处是您可以定义一个适配器来将其分配给 gridView 来保存您的所有视图。您可以在 android 上找到大量关于此的示例。

现在另一种选择是,您需要一个实际上每行中的列数不相等的布局(与 google play 应用程序相同)。在这种情况下,您仍然可以使用 GridLayout。它在与最新版本一起下载的兼容性库中可用。它可以作为库项目添加到您的应用程序中,并以与在 android 4.0+ 中使用它的方式完全相同的方式使用它。我认为这也需要添加兼容性库。我认为此时您不会找到太多关于如何将兼容性网格布局添加到您的项目的文档,但这与添加任何库项目相同。项目代码可以在兼容性v7下的android sdk文件夹中找到。

【讨论】:

    猜你喜欢
    • 2014-08-26
    • 2016-03-16
    • 2016-04-28
    • 2023-03-14
    • 2015-06-01
    • 1970-01-01
    • 2016-07-13
    • 2012-05-03
    • 1970-01-01
    相关资源
    最近更新 更多