5

UIのような要素を作成したいGridViewのですが、完全な機能が必要ですが、垂直ではなく水平にスクロールできるようにしたいです。

水平スクロールとは、そのように構築する必要があり、HorizontalScrollView.

私の場合Custom GridViewは固定数のrows発言権が4-5あり、はのアイテム数に基づいているcolumns必要があります。ネイティブが行うことの反対と考えることができますが、機能を維持する必要があります。extensibleAdapterGridView

GridViewGoogle によって a がどのように実装されているかのソース コードを見てきましたが、ほとんど理解できViewません。 Googleが行った方法でメモリの最適化を正当化してください。

GridView私はextendsを観察していたAbsListViewので、私の質問は、垂直方向にスクロールしてアダプターから項目を追加AbsListViewできるようにするものですか、それとも垂直スクロール機能を追加するものですか? 微調整する必要がありますか?GridViewGridViewGridViewAbsListView

私がやりたいことをすでに実行しているものがあるかどうかを知ることはさらに良いでしょうか?

これは、Android Honeycomb 3.1 以降のネイティブ ギャラリーおよび YouTube アプリに既に実装されています。誰かがアイデアを持っている場合は、詳しく説明してください。

ハニカム ギャラリー アプリのスナップショット:

ここに画像の説明を入力

ハニカム YouTube アプリのスナップショット:

ここに画像の説明を入力

4

1 に答える 1

11

API 11 にありsetRotationます。グリッドビューを 90 度回転させ、子ビューを -90 度回転させる必要があります。

ドキュメント: http://developer.android.com/reference/android/view/View.html#setRotation(float )

アップデート:

ビューに次の API で 3D 効果を得るには便利です

setCameraDistance(float) - z 軸の距離 (深さ) を設定します

setRotationX(float) - 水平軸の角度を設定します

setRotationY(float) - 垂直軸の角度を設定します

カメラの距離を画面の高さの半分に設定します。次に、画面上のビューの位置に基づいて、rotationX を設定します。回転角度は、左から右に (20、10、0、-10、-20) のようにする必要があります。後で、rotationY 角度をいじって、高さを認識できます。

extendedGridViewのオーバーライドされたlayoutメソッドですべての設定を行います。

@override
void layout(int t, int l, int r, int b) {
    super.layout(t, l, r, b);
    ...
    int columnStart = getFirstVisiblePosition()/no_of_columns;
    int columnEnd = getLastVisiblePosition()/no_of_columns;

    loop from 'columnStart' to 'columnEnd' 'no_of_colmns' times {
        // set the camera distance and rotationX to views
        // depending on the position of a view on screen.
    }
}
于 2012-07-23T10:45:20.127 に答える