iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android文本视图TextView实现聊天室效果
  • 327
分享到

Android文本视图TextView实现聊天室效果

2024-04-02 19:04:59 327人浏览 独家记忆
摘要

本文实例为大家分享了Android文本视图TextView实现聊天室的具体代码,供大家参考,具体内容如下 Math.random()生成随机数的范围是 0 到 1 之间的 日期时间格

本文实例为大家分享了Android文本视图TextView实现聊天室的具体代码,供大家参考,具体内容如下

Math.random()生成随机数的范围是 0 到 1 之间的

日期时间格式new SimpleDateFORMat("dd-MM-yyyy 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\n%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;
    }
}

layout


<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());
    }
 
}

result

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Android文本视图TextView实现聊天室效果

本文链接: https://www.lsjlt.com/news/126510.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android文本视图TextView实现聊天室效果
    本文实例为大家分享了Android文本视图TextView实现聊天室的具体代码,供大家参考,具体内容如下 Math.random()生成随机数的范围是 0 到 1 之间的 日期时间格...
    99+
    2024-04-02
  • Android文本视图TextView实现跑马灯效果
    本文实例为大家分享了Android文本视图TextView实现跑马灯效果的具体代码,供大家参考,具体内容如下 MainActivity package com.example.j...
    99+
    2024-04-02
  • Android TextView实现多文本折叠、展开效果
    背景在开发过程中,当我们的需求中包含说说或者评论等内容的展示时,我们都会考虑当内容太多时该如何显示。当内容的字数太多,如果全部展示出来可能会影响体验效果,但是又不能只截取一部分内容进行展示,此时就需要考虑使用多行显示折叠的效果来实现。效果图...
    99+
    2023-05-31
    android textview roi
  • java实现多人聊天室可视化
    编写一个 Java 应用程序,实现图形界面多人聊天室(多线程实现),要求聊天室窗口标题是 “欢迎使用 XXX 聊天室应用”,其中 XXX 是自己的班级姓名学号...
    99+
    2024-04-02
  • Android实现梯形TextView效果
    目录效果图:自定义代码实现逻辑:要点分析 1.背景与文本内容的绘制 2.梯形范围内外的点击事件处理 3.其它自定义属性 效果图: 自定义代码实现逻辑: public class...
    99+
    2024-04-02
  • Android实现视图轮播效果
    最近接手了一个需求,要求实现,叮咚买菜。 秒杀位置的轮播 拆解 通过观察发现其实还是挺简单,大致分为 1、商品图片的上下轮播 2、价格布局渐隐渐现 在android上实现布局轮播,...
    99+
    2024-04-02
  • Python+Socket实现多人聊天室,功能:好友聊天、群聊、图片、表情、文件等
    一、项目简介 本项目主要基于python实现的多人聊天室,主要的功能如下: 登录注册添加好友与好友进行私聊创建群聊邀请/申请加入群聊聊天发送图片聊天发送表情聊天发送文件聊天记录保存在本地中聊天过程中发送的文件保存本地 二、环境介绍 pyth...
    99+
    2023-08-17
    python flask mysql
  • Android如何实现梯形TextView效果
    小编给大家分享一下Android如何实现梯形TextView效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:自定义代码实现逻辑:public ...
    99+
    2023-06-15
  • C#使用Socket实现本地多人聊天室
    本文实例为大家分享了C#使用Socket实现本地多人聊天室的具体代码,供大家参考,具体内容如下 【脚本一:Server端】 使用本机地址:127.0.0.1 完整代码 using S...
    99+
    2024-04-02
  • Android实现好看的微信聊天气泡效果
    目录前言代码实现踩坑记录总结前言 在聊天类应用中,通常用气泡作为聊天内容的背景色,比如微信的聊天背景,别人发过来的是白色的气泡,自己发的是绿色的气泡。 上面这种是比较普通的,这篇我...
    99+
    2024-04-02
  • CSS实现聊天气泡效果
    这篇文章给大家分享的是有关CSS实现聊天气泡效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 一、效果图 京东效果模拟的效果 二、原理准备一个高度和宽度为0的盒子将这个盒子设置一个边框将边框...
    99+
    2023-06-08
  • Android中TextView和ImageView实现倾斜效果
    TextView倾斜:想做一个倾斜的TextView,想海报上显示的那样 ,在网上找例子一直不能实现,看了看TextView源码,发现很简单,为方便像我一样糊涂的孩纸,贴出来了.首先需要先自定义一个TextViewpublic class ...
    99+
    2023-05-30
    textview imageview 倾斜
  • Java聊天室之使用Socket实现传递图片
    目录一、题目描述二、解题思路三、代码详解一、题目描述 题目实现:使用网络编程时,需要通过Socket传递图片。 二、解题思路 创建一个服务器类:ServerSocketFrame,继...
    99+
    2022-11-13
    Java实现聊天室 Java聊天室 Java Socket传递图片
  • Android图像视图ImageView实现图像拉伸效果
    本文实例为大家分享了Android图像视图ImageView实现图像拉伸效果的具体代码,供大家参考,具体内容如下 在layout调整属性src指定图形来源。Activity中setS...
    99+
    2024-04-02
  • Android用TextView实现跑马灯效果代码
    目录【前言】一、新手设置跑马灯效果【关键点讲解】【总结】二、高端玩家设置跑马灯效果三、延伸阅读总结【前言】      在Textvi...
    99+
    2024-04-02
  • Android实现实时视频聊天功能源码
    实现实时视频聊天功能的源码在Android平台上可以使用WebRTC技术。下面是一个简单的示例:1. 添加依赖项在项目的build....
    99+
    2023-09-13
    Android
  • Android Textview实现颜色渐变滚动效果
    本文实例为大家分享了Android颜色渐变滚动展示的具体代码,供大家参考,具体内容如下public class FlashTextView extends android.support.v7.widget.AppCompatTextVie...
    99+
    2023-05-30
    android textview 渐变
  • C#如何使用Socket实现本地多人聊天室
    这篇文章主要介绍C#如何使用Socket实现本地多人聊天室,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!【脚本一:Server端】使用本机地址:127.0.0.1完整代码using System;using...
    99+
    2023-06-29
  • CSS聊天气泡效果怎么实现
    本篇内容介绍了“CSS聊天气泡效果怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   HTML结...
    99+
    2024-04-02
  • Android中怎么用TextView实现跑马灯效果
    这篇“Android中怎么用TextView实现跑马灯效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android中怎么...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作