0

私は Android の学習を始めたばかりで、ユーザーがコンピューターと簡単な会話をする簡単なアプリケーションに取り組んでいます。

私の質問は、実行時にユーザーからの入力をビューに表示できるように UI を設定するにはどうすればよいですか? 入力プロンプトが増えると、表示されるコンテンツが増えるため、スクロール バーを使用する必要がありますが、スクロール ビュー レイアウトで対応できると思います。

基本的に、私が達成しようとしていることは、実行時にチャット アプリケーションがコンテンツを表示する方法と非常によく似ています。どうすればそれを行うことができますか?私は周りを見回しましたが、自分自身を正しい方向に正確に向けることはできません.

4

2 に答える 2

1

これには複数のアプローチがあります。

  1. aListViewまたは aを使用してListActivity、すべての新しいメッセージを新しいエントリとして追加します。ListViewデフォルトでスクロール可能です。
  2. TextViewwithを使用しandroid:inputType=textMultiLineて、単純な複数行のテキストビューを取得します。
  3. 2. を a とともに使用してEditText、会話の一部にマークを付けたり、コピーしたりすることもできます。参照: Android AlertDialog からテキストをコピーしますか?

もしあなたがどこにいたら、この順番で試してみます。また、カスタムListAdapterを作成して上書きgetView()し、必要に応じてメッセージをカスタマイズします。例を次に示します (まったく同じではありませんが、アイデアが得られるはずです): Android Spinner databin using array list

1 つのアイデアは、送信したすべてのメッセージを左揃えにし、受信したすべてのメッセージを左揃えにすることです。この方法では、iOS メッセージング アプリケーションのように見えます。

于 2013-01-29T17:38:27.497 に答える
0

ScrollView を使用してチャット セッションを作成できます。まず、次のようにしてみてください。

ChatActivity.java :

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;

public class ChatActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.chat);

        LinearLayout layout = (LinearLayout)findViewById(R.id.chatWindow);

        //When you get a new message to display, you can add it at runtime like this:
        TextView message1 = new TextView(this);
        message1.setText("how are you");
        layout.addView(message1);

        //Add another message
        TextView message2 = new TextView(this);
        message1.setText("I'm fine");
        layout.addView(message2);

    }

}

次に、chat.xml リソースを作成します。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:id="@+id/chatWindow"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" />

</ScrollView>

後で、AsyncTask のようなものを使用して、チャットを更新しながらユーザーとのやり取りを改善できます。AsyncTask を使用すると、ユーザーが UI を使用している間、バックグラウンドで処理を実行できます。

于 2013-01-29T17:37:23.737 に答える