3

Grid Layoutに似たレイアウトを作ろうとしていますが、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>

編集:

うーん、私は約 30 分前に .xml ファイルでコーディングを開始しました。上記のコードを投稿します。最初の部分がどのように表示されるかを確認するために、グラフィカル レイアウトに移動すると、次のエラーが表示されました...

「com.android.layoutlib.bridge.MockView を android.view.ViewGroup にキャストできません。例外の詳細は [ウィンドウ] > [ビューの表示] > [エラー ログ] に記録されます。次のクラスが見つかりませんでした: - GridLayout(Fix Build Path, Edit XML)」

他に何か問題があるのではないかと思いますが、グラフィカル レイアウト パレットには GridLayout がリストされていませんが、残りは (Linear(vert/hoz)、Relative、Frame、Fragment、Table など) です。

4

2 に答える 2

9

GridLayoutAPI レベル 7 以降と互換性があるようにバックポートされています。これは (一種の) サポート ライブラリの一部です。サポート ライブラリをダウンロードすると、次の場所にあるローカルの sdk フォルダーに Android ライブラリ プロジェクトが見つかります。

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

作業中のプロジェクトの依存関係として設定します。その後、ICS 以前のデバイスをサポートするために、プロジェクト全体の参照がレベル 15 バージョンではなく、このバージョンを指していることを確認する必要があります。使用法は、同一ではないにしても、類似している必要があります。

参照: Android API 10 でのグリッド レイアウトのサポート

于 2012-06-20T19:26:08.433 に答える
2

GridView は、各行の列数が等しいレイアウトが必要な場合の 1 つのオプションです。これの良い面は、単一のアダプターを定義して、すべてのビューを保持する gridView に割り当てることができることです。これについては、Android でたくさんの例を見つけることができます。

別の方法として、実際には各行に同じ数の列を持たないレイアウトが必要です (Google Play アプリと同じ)。この場合でも、GridLayout を使用できます。最新のものと一緒にダウンロードされた互換性ライブラリで利用できます。アプリケーションにライブラリ プロジェクトとして追加し、Android 4.0 以降で使用するのとまったく同じ方法で使用できます。これには、互換性ライブラリも追加する必要があると思います。プロジェクトに互換性グリッド レイアウトを追加する方法について、この時点で多くのドキュメントが見つかるとは思いませんが、ライブラリ プロジェクトを追加するのと同じです。プロジェクト コードは、android sdk フォルダーの互換性 v7 にあります。

于 2012-06-20T19:28:28.957 に答える