この写真効果の名前を教えてください。そして、この添付画像エフェクト用のアダプターの作成方法を知りたいです。
@Edited: これは Android マーケットのサンプル写真です。このようなレイアウトを作りたいと思っています。これは、GridView アダプターをオーバーライドして作成する必要があると思います。
縦向きのスクリーンショット
横向きのスクリーンショット
別のスクリーンショット
私の質問があなたたちにとって明確ではなく、非常に申し訳ありません。
重複の可能性があります。
この写真効果の名前を教えてください。そして、この添付画像エフェクト用のアダプターの作成方法を知りたいです。
@Edited: これは Android マーケットのサンプル写真です。このようなレイアウトを作りたいと思っています。これは、GridView アダプターをオーバーライドして作成する必要があると思います。
縦向きのスクリーンショット
横向きのスクリーンショット
別のスクリーンショット
私の質問があなたたちにとって明確ではなく、非常に申し訳ありません。
重複の可能性があります。
これを試しましたか:
<?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
次の順序で作成します。
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 のイメージ ビュー
これを行うと、好みに合わせて適切に重み付けされたレイアウトが得られます
市場のレイアウトを再現する場合、次のクラスを使用します。
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 つの項目で構成されます。それを理解し、データと配列をいじってみてください。きっとできると思います。=)
これは、通常の Gridview または listview アダプターのようには見えません。カスタム コントロールを作成する必要がある場合があります。たとえば、この例では、一部のアプリが他のアプリよりも重み付けされています。より重みのあるものは全幅を占める必要があり、他のものは幅の 50% または 33% を占めます (横向きまたは縦向きに基づく)。
そのため、ロジックはテーブル レイアウトを作成し、重みに基づいてアダプターにさらにコントロールを追加します。また、重みに基づいて、それに応じて行または列のスパンを作成する必要があります。
テーブル レイアウトを作成できます。テーブル行では、列と行スパンを追加してそのようなレイアウトを作成できます。
これは で行う必要がありますGridView
。
見た目では、1マス分、2マス分、4マス分の3サイズがあります。簡単ではないはずです。
しかし、画像がどのようにスタックされ、レイアウトがどのように配置されているかについては、GridView
. 列と行を実装する際に非常に柔軟であり、向きの変更をすぐに実装できます。
View
小さい が 4 つあるもの、2 つあるもの、大きい が 1 つあるものの 3 種類のアイテムを作成する必要がありますView
。各セルには、上記のいずれかが存在する可能性があります。
いくつかのプロパティによると、GridView
. 次に、提供されるオプションを試す必要がありGridView
ます(レイアウトの幅と高さに応じて要素を「自動」スタックするプロパティがいくつかあります)。私は似たようなことをしたことがないので、それが私が提供できるすべてです。
編集:少し検索せずに、コピーと貼り付けのみで Android マーケット インターフェイスを実装しようとしていますか?? これは、あなたが思っているほど簡単ではありません。
とにかく、私があなただったら、前に述べた実装から始めるでしょう。私は似たようなことをしたことがないので、コードを提供することはできませんが、あなたの場合、GridView
すでに提供されているすべての実装が大きな助けになります。
PS: 私の意見は、最初に少し検索してから、質問を再度更新することです。
マーケット アプリはViewPagerを使用して行われ、各ページにはRelativeLayout
orが含まれていると思いますLinearLayout
。メトロのようなインターフェイスを作成するにはGridView
、各ページの がより適しています。
page 1 page 2 page 3
________________________________________________
| | | |
| | | |
| GridView | GridView | GridView |
| | | |
| | | |
| | | |
| | | |
| | | |
-------------------------------------------------
ここには、ViewPager チュートリアルへのリンクがいくつかあります。
OverScrollerを使用して、スクロール中に弾性効果を与えることもできます。