3

チャットアプリを開発していて、以下の画面のようなチャット画面レイアウトを作りたいと思っています。

チャット画面のレイアウト

現在、チャット テキストに ListView を使用していますが、長いチャットを下にスクロールする必要があるため、画面が自動的にスクロールしないという問題があります。

このバブルのようなチャット レイアウトが必要です。この種のチャット レイアウトを開発するにはどうすればよいですか?

4

4 に答える 4

7

ここで必要なのは、メイン ビューとしてListView.

これには、メッセージ項目を表示するためListViewのカスタムが必要です。Adapter

この吹き出しのような表示を実現するには、itemRenderer が状態 ( fromMe- fromOther) を処理できる必要があります。

backgroundDrawableバブルを作成するには、異なる状態に異なる (左右を指すバブル 9 パッチ)をアタッチする必要があります。

どこかで行き詰まった場合は、関連するコード スニペットと logcat の出力を共有してください。さらにサポートできるようになります。

于 2012-05-14T07:48:13.520 に答える
2

次のものが必要です。

  1. ListActivity、ListView XML レイアウト。
  2. ListActivity が使用する BaseAdapter。
  3. BaseAdapter getView は各行を拡張します。
  4. 各行には、バブル画像とチャット テキストを含む行ビューがあります。
  5. リストビューのフッターには、チャットを入力するための EditText ビューがあります。

これらを参考にしてください:

http://developer.android.com/reference/android/app/ListActivity.html

http://developer.android.com/reference/android/widget/BaseAdapter.html

于 2012-05-14T07:45:21.700 に答える
2

listViewのカスタム ビューを作成するには、これを参照してください。

親ビューと、それを継承する着信ビューと発信ビューを作成し、それらに応じて色と重力を変更します。

于 2012-05-14T07:39:43.570 に答える
1

あなたが正しく理解している場合は、リストビューの自動スクロールを実装するだけです。

smoothScrollToPositionもしそうなら、何かが追加されるたびに呼び出してみてください。あなたのクラスがどのように見えるかはわかりませんが、おそらくこのようなものを実行できます(疑似コード)

customListview.addNewChat(...);
customListView.smoothScrollToPosition(customListView.getCount());
于 2012-05-14T07:53:03.970 に答える