视频聊天室源码,按住对话框右滑显示删除
视频聊天室源码,按住对话框右滑显示删除实现的相关代码
1.设计界面
界面导入 recycleview 的包
Friendweixin.xml:
1 | <?xml version= "1.0" encoding= "utf-8" ?><br><androidx.constraintlayout.widget.ConstraintLayout <br>xmlns:android= "http://schemas.android.com/apk/res/android" <br> xmlns:tools= "http://schemas.android.com/tools" <br> android:layout_width= "match_parent" <br> android:layout_height= "match_parent" <br> tools:context= ".MainActivity" <br> xmlns:app= "http://schemas.android.com/apk/res-auto" ><br> <androidx.recyclerview.widget.RecyclerView<br> android:id= "@+id/swipe" <br> android:layout_width= "match_parent" <br> android:layout_height= "wrap_content" <br> android:layout_margin= "8dp" //边距为 8dp<br> android:overScrollMode= "never" //设置滑动到边缘时无效果模式<br> android:scrollbars= "none" //滚动条隐藏<br> app:layout_constraintEnd_toEndOf= "parent" <br>//结束时对其下一个 view 结束的位置<br> app:layout_constraintStart_toStartOf= "parent" <br>//view1 起始位置对齐 view2 的起始位置<br> app:layout_constraintTop_toTopOf= "parent" /><br>//view1 顶部对齐 view2 的顶部<br></androidx.constraintlayout.widget.ConstraintLayout |
Itemweixin.xml:
外层是垂直的 LinearLayout
1 | <?xml version= "1.0" encoding= "utf-8" ?><br><LinearLayout <br>xmlns:android= "http://schemas.android.com/apk/res/android" <br> xmlns:tools= "http://schemas.android.com/tools" <br> android:layout_width= "match_parent" <br> android:layout_height= "50dp" <br> android:layout_margin= "8dp" <br> android:background= "@drawable/common_bg" <br> android:orientation= "vertical" ><br> <TextView<br> android:id= "@+id/content" <br> android:layout_width= "wrap_content" <br> android:layout_height= "wrap_content" <br> android:layout_marginLeft= "8dp" /><br></LinearLayout><br>Itemtop.xml:<br><?xml version= "1.0" encoding= "utf-8" ?><br><TextView xmlns:android= "http://schemas.android.com/apk/res/android" <br> xmlns:tools= "http://schemas.android.com/tools" <br> android:id= "@+id/header_view" <br> android:layout_width= "match_parent" <br> android:layout_height= "wrap_content" <br> android:background= "#3E8841" <br> android:padding= "10dp" <br> android:textColor= "@android:color/white" <br> android:textSize= "14sp" <br> tools:text= "@string/app_name" /> |
2.适应器adapter
1 | Myadapterweixin,java:<br> package com.example.myapplication1;<br> import android.content.Context;<br> import android.text.TextUtils;<br> import android.view.LayoutInflater;<br> import android.view.View;<br> import android.view.ViewGroup;<br> import android.widget.TextView;<br> import androidx.recyclerview.widget.RecyclerView;<br> import java.util.List;<br> public class myadapterweixin extends <br>RecyclerView.Adapter<myadapterweixin.swipeviewholder> implements <br>TouchHelperListener {<br> private List<String>list;<br> private Context context;<br> private View inflater;<br> public myadapterweixin(Context context, List<String> list) {<br> this .context=context;<br> this .list=list;<br> }<br> @Override <br> public swipeviewholder onCreateViewHolder(ViewGroup parent, int <br>viewType) {<br> inflater= <br>LayoutInflater.from(context).inflate(R.layout.itemweixin,parent, false <br>);<br> swipeviewholder swipeviewholder= new swipeviewholder(inflater);<br> return swipeviewholder;<br> }<br> @Override <br> public void onBindViewHolder(swipeviewholder holder, int <br>position) {<br> holder.tvContent.setText(list.get(position));<br> }<br> @Override <br> public int getItemCount() { return list.size();}<br> @Override <br> public void OnItemDismiss( int position) {<br> if (position < 0 || position > getItemCount()) {<br> return ;<br> }<br> list.remove(position);<br> notifyItemRemoved(position);<br> if (position != list.size()) {<br> notifyItemRangeChanged(position, list.size() -<br>position);<br> }<br> }<br> public class swipeviewholder extends RecyclerView.ViewHolder{<br> TextView tvContent;<br> public swipeviewholder(View itemView) {<br> super (itemView);<br> tvContent = itemView.findViewById(R.id.content);<br> }<br> }<br>} |
以上就是 视频聊天室源码,按住对话框右滑显示删除实现的相关代码,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现