9

この写真効果の名前を教えてください。そして、この添付画像エフェクト用のアダプターの作成方法を知りたいです。

@Edited: これは Android マーケットのサンプル写真です。このようなレイアウトを作りたいと思っています。これは、GridView アダプターをオーバーライドして作成する必要があると思います。

縦向きのスクリーンショット


写真

横向きのスクリーンショット


写真


別のスクリーンショット


写真

私の質問があなたたちにとって明確ではなく、非常に申し訳ありません。

重複の可能性があります。

4

7 に答える 7

13

これを試しましたか:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.54" >
        <Button
            android:id="@+id/Button01"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1.00"
            android:text="Button" />    
        <Button
            android:id="@+id/Button02"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1.00"
            android:text="Button" />    
    </LinearLayout>
    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />  
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="99dp" > 
        <Button
            android:id="@+id/button1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="Button" />  
        <Button
            android:id="@+id/button2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="Button" />    
    </LinearLayout>   
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >    
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >   
            <Button
                android:id="@+id/button4"
                android:layout_width="match_parent"
                android:layout_height="152dp"
                android:text="Button" />    
            <Button
                android:id="@+id/button5"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Button" />    
        </LinearLayout>    
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >
            <Button
                android:id="@+id/button6"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Button" />
            <Button
                android:id="@+id/button7"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="Button" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

このスレッドを確認してください:異種GridLayout

ここに画像の説明を入力してください

于 2012-07-31T09:42:40.580 に答える
4

次の順序で作成します。

WeightSum が 2 の LinearLayout(VERTICAL);

重みが 1 で weightSum が 3 の LinearLayout(VERTICAL)。

その中には、3 つのレイアウト、重みが .70 の水平線形レイアウト、重みが .50 の水平線形レイアウト、および重みが 1.80 の imageView があります。

重みが 1 で重みの合計が 3 の LinearLayout(VERTICAL)。

その中には3つの線形レイアウトがあります

2 *(これらのうちの 2 つ) - 重みが .50 の水平方向、およびこの水平レイアウト内の重みの合計が 2 の場合、それぞれの重みが 1 の 2 つの画像ビューになります。

3 番目と最後に、重み 1.50 のイメージ ビュー

これを行うと、好みに合わせて適切に重み付けされたレイアウトが得られます

于 2012-07-25T11:42:13.777 に答える
3

市場のレイアウトを再現する場合、次のクラスを使用します。

 1. Obviously ViewPager for horizontal swiping ability.
 2. A heavily customized ListView.

ListView には と呼ばれるメソッドがあり、リストビューaddHeaderView()に表示された最初のいくつかの項目を独自のカスタム レイアウトで操作できます。この場合、リストの 1 番目、4 番目、5 番目、および 6 番目の項目は、ImageViewその幅とおそらく固定の高さで一致する親になります。

2 番目と 3 番目のアイテムはLinearLayout、同じ重みを持つ 2 つの ImageView を持つ単純な水平になり、残りはカスタム レイアウトを持つ単純な Listview になります。

上記のすべては、電話機の「ポートレート」ビューを指します。「ランドスケープ」ビューの場合も、手動で行う必要があります。

BaseAdapter秘訣は、リストビューを埋めるためにどのように変更するかです。デフォルトのリストビューでは、1 つの「位置」がリストビュー内の 1 つの行を参照します。この場合、カスタム リストビュー レイアウトは、1 行に 2 つの項目で構成されます。それを理解し、データと配列をいじってみてください。きっとできると思います。=)

于 2012-07-30T16:27:32.390 に答える
3

これは、通常の Gridview または listview アダプターのようには見えません。カスタム コントロールを作成する必要がある場合があります。たとえば、この例では、一部のアプリが他のアプリよりも重み付けされています。より重みのあるものは全幅を占める必要があり、他のものは幅の 50% または 33% を占めます (横向きまたは縦向きに基づく)。

そのため、ロジックはテーブル レイアウトを作成し、重みに基づいてアダプターにさらにコントロールを追加します。また、重みに基づいて、それに応じて行または列のスパンを作成する必要があります。

于 2012-07-26T07:24:54.367 に答える
3

テーブル レイアウトを作成できます。テーブル行では、列と行スパンを追加してそのようなレイアウトを作成できます。

于 2012-07-23T05:11:46.013 に答える
2

これは で行う必要がありますGridView

見た目では、1マス分、2マス分、4マス分の3サイズがあります。簡単ではないはずです。

しかし、画像がどのようにスタックされ、レイアウトがどのように配置されているかについては、GridView. 列と行を実装する際に非常に柔軟であり、向きの変更をすぐに実装できます。

View小さい が 4 つあるもの、2 つあるもの、大きい が 1 つあるものの 3 種類のアイテムを作成する必要がありますView。各セルには、上記のいずれかが存在する可能性があります。

いくつかのプロパティによると、GridView. 次に、提供されるオプションを試す必要がありGridViewます(レイアウトの幅と高さに応じて要素を「自動」スタックするプロパティがいくつかあります)。私は似たようなことをしたことがないので、それが私が提供できるすべてです。

編集:少し検索せずに、コピーと貼り付けのみで Android マーケット インターフェイスを実装しようとしていますか?? これは、あなたが思っているほど簡単ではありません。

とにかく、私があなただったら、前に述べた実装から始めるでしょう。私は似たようなことをしたことがないので、コードを提供することはできませんが、あなたの場合、GridViewすでに提供されているすべての実装が大きな助けになります。

PS: 私の意見は、最初に少し検索してから、質問を再度更新することです。

于 2012-07-23T08:39:02.930 に答える
2

マーケット アプリはViewPagerを使用して行われ、各ページにはRelativeLayoutorが含まれていると思いますLinearLayout。メトロのようなインターフェイスを作成するにはGridView、各ページの がより適しています。

    page 1             page 2         page 3
________________________________________________
|              |                 |              | 
|              |                 |              | 
|    GridView  |     GridView    |   GridView   | 
|              |                 |              | 
|              |                 |              | 
|              |                 |              | 
|              |                 |              |
|              |                 |              |
-------------------------------------------------

ここには、ViewPager チュートリアルへのリンクがいくつかあります。

ここにもう一つ

アップデート:

OverScrollerを使用して、スクロール中に弾性効果を与えることもできます。

于 2012-07-25T13:32:40.453 に答える