0

ここに示すスクリーンショットとまったく同じ画面(スクロール可能)を作成する必要があり ます 。どんなレイアウトパターンに頼るべきか、ウィジェットを使うべきか、私にはわかりません。

サムネイルリンクを含むデータは動的に利用できます。

専門家の皆様、貴重なご提案、アドバイス、ご協力をよろしくお願いいたします。

よろしく、ロニー

4

4 に答える 4

1

スクリーンショットで使用されているビューは、おそらくカスタマイズされたListViewです。それを見てください。

私がよくお勧めする便利なソースは、APIDemosプロジェクトです。

目標を達成するために必要な手順を簡単にリストします;)

  • Androidアプリケーションの基礎を読む(まだ読んでいない場合)
  • ListViewに関するI/Oセッションを見るか、対応するスライドを確認してください。
  • カーソルとListAdapters(および場合によってはContentProviders)を見てください。メモ帳のチュートリアルが役立つ場合があります。リストのデータをマッピングするためにそれらが必要になります
  • カスタムリスト行レイアウトを作成する方法を確認してください。基本的に、単一のリスト行アイテムを表す別のレイアウトxmlファイルを作成します。通常、水平方向のLinearLayout(特定の場合はサムネイル、テキストなど)。
  • 楽しむ ;)

個人的に助けになったのは、ネイティブのAndroidコンタクトアプリのソースコードを確認することです。セクションやアイコンなどを含むかなり「複雑な」リストがあります。Androidソースをダウンロードするか、ここで参照してください

于 2010-10-07T18:59:58.730 に答える
0

これは、詳細情報なしで答えるのは難しい質問です。

個人的には、ListViewを使うのは好きではありません。データを並列配列などに格納できる場合は、for()ループを使用して、メインレイアウトにボタンやTextViewなどを追加します。

于 2010-10-08T03:24:11.350 に答える
0

私はリストビューに多くの作業をしてきましたが、スクリーンショットを見て、可能であればリストビューの使用を避けることをお勧めします。スクリーンショットに表示されているレイアウトであっても、常に一定のレイアウトがある場合は、xmlファイルで各要素[一意の要素のみ]のレイアウトを行い、必要に応じて動的に追加します。レイアウトを正確にどのようにするかはわかりませんが、要素の数が増える可能性がある場合は、これは適切ではない可能性があります。

于 2010-10-08T06:09:18.927 に答える
0

スクリーンショットを見ると、私が経験したものと非常によく似ています。最初はArrayAdapterと一緒にListViewを使用していましたが、最終的には頭痛の種になり、いつも頭を悩ませていました。私はAndroid開発の専門家ではありませんが、これが私が行う方法です。

<LinearLayout>
     <!-- Used for the non-scrollable header
          Can be a RelativeLayout if you wish -->
</LinearLayout>

<!-- Scrollable items here -->
<ScrollView>
     <!-- Necessary since ScrollView only accepts one child -->
     <LinearLayout>
          <LinearLayout>
               <!-- This will be the container for the items in your list.
                    You can choose to inflate this layout in your code
                    and use addView to add other child Views you want. -->
               <!-- Views you add here will contain the ImageViews, TextViews
                    for the images and text content -->
          <LinearLayout>
     </LinearLayout>

</ScrollView>
于 2010-10-08T17:28:15.663 に答える