AndroidテキストビューTextViewはチャットルームの効果を実現します。
本論文の例では、AndroidテキストビューTextViewのチャットルームを実現するための具体的なコードを共有します。
Math.random()乱数を生成する範囲は0から1の間です。
日付時間フォーマットnew SimpleDateFormat("dd-M-yyyyy HH:mm:ss")//年-月-日:分:秒 ; HH大文字で24時間、
Stringクラスのformat()メソッドは、フォーマットされた文字列を作成し、複数の文字列オブジェクトを接続するために使用されます。
MainActivity
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
Math.random()乱数を生成する範囲は0から1の間です。
日付時間フォーマットnew SimpleDateFormat("dd-M-yyyyy HH:mm:ss")//年-月-日:分:秒 ; HH大文字で24時間、
Stringクラスのformat()メソッドは、フォーマットされた文字列を作成し、複数の文字列オブジェクトを接続するために使用されます。
MainActivity
package com.example.junior;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.text.method.ScrollingMovementMethod;
import android.view.Gravity;
import android.view.View;
import android.widget.TextView;
import com.example.junior.util.DateUtil;
public class BbsActivity extends AppCompatActivity implements
View.OnClickListener, View.OnLongClickListener {
private TextView tv_bbs; //
private TextView tv_control; //
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bbs);
// tv_control
tv_control = findViewById(R.id.tv_control);
// tv_control
tv_control.setOnClickListener(this);
// tv_control
tv_control.setOnLongClickListener(this);
// tv_bbs
tv_bbs = findViewById(R.id.tv_bbs);
// tv_bbs
tv_bbs.setOnClickListener(this);
// tv_bbs
tv_bbs.setOnLongClickListener(this);
// tv_bbs
tv_bbs.setGravity(Gravity.LEFT | Gravity.BOTTOM);
// tv_bbs
tv_bbs.setLines(8);
// tv_bbs
tv_bbs.setMaxLines(8);
// tv_bbs
tv_bbs.setMovementMethod(new ScrollingMovementMethod());
}
private String[] mChatStr = {" ?", " 。",
" !", " ", " ?",};
@Override
public void onClick(View v) {
if (v.getId() == R.id.tv_control || v.getId() == R.id.tv_bbs) {
// 0 4
int random = (int) (Math.random() * 10) % 5;
//
String newStr = String.format("%s
%s %s",
tv_bbs.getText().toString(), DateUtil.getNowTime(), mChatStr[random]);
// tv_bbs
tv_bbs.setText(newStr);
}
}
@Override
public boolean onLongClick(View v) {
if (v.getId() == R.id.tv_control || v.getId() == R.id.tv_bbs) {
tv_bbs.setText("");
}
return true;
}
}
ラyout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- -->
<TextView
android:id="@+id/tv_control"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center"
android:text=" , , " />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:orientation="vertical">
<!-- ,scrollbars vertical -->
<TextView
android:id="@+id/tv_bbs"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:gravity="left|bottom"
android:lines="8"
android:maxLines="8"
android:scrollbars="vertical"
android:textColor="#000000"
android:textSize="17sp" />
</LinearLayout>
</LinearLayout>
DataUtil
package com.example.junior.util;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtil {
public static String getNowDateTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
return sdf.format(new Date());
}
public static String getNowTime() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(new Date());
}
}
レスリング以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。