侧滑置顶,取消置顶
第一步:布局
<?xml version="1.0" encoding="utf-8"?> <com.ddmh.magic.camera.ui.widget.SwipeMenuLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="60dp"android:layout_marginTop="12dp"android:clickable="true"app:ios="false"app:leftSwipe="true"app:swipeEnable="true"><androidx.constraintlayout.widget.ConstraintLayoutandroid:id="@+id/cst_out"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/tv_team_name_short"android:layout_width="60dp"android:layout_height="match_parent"android:background="@drawable/bg_5493f7_4radius"android:gravity="center"android:text="xxxx"android:textColor="#ffffffff"android:textSize="18sp"app:layout_constraintLeft_toLeftOf="parent" /><TextViewandroid:id="@+id/tv_top_tips"android:layout_width="32dp"android:layout_height="18dp"android:background="@drawable/bg_e0e0e0_4radius"android:gravity="center"android:text="置顶"android:textColor="#ff878f99"android:textSize="10sp"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/tv_team_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="8dp"android:ellipsize="end"android:maxWidth="250dp"android:singleLine="true"android:text="xxx"android:textColor="#ff1d2129"android:textSize="16sp"app:layout_constraintBottom_toTopOf="@+id/tv_team_day"app:layout_constraintHorizontal_weight="1"app:layout_constraintLeft_toRightOf="@+id/tv_team_name_short"app:layout_constraintTop_toTopOf="@+id/tv_team_name_short" /><TextViewandroid:id="@+id/tv_admin"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="8dp"android:background="@drawable/bg_ff615d_2radius"android:paddingLeft="7dp"android:paddingTop="5dp"android:paddingRight="7dp"android:paddingBottom="5dp"android:text="主xx员"android:textColor="#ffff615d"android:textSize="10sp"app:layout_constraintLeft_toRightOf="@+id/tv_team_name"app:layout_constraintTop_toTopOf="@+id/tv_team_name" /><ImageViewandroid:id="@+id/tv_team_day"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/icon_today"app:layout_constraintBottom_toBottomOf="@+id/tv_team_name_short"app:layout_constraintLeft_toLeftOf="@+id/tv_team_name"app:layout_constraintTop_toBottomOf="@+id/tv_team_name" /><TextViewandroid:id="@+id/tv_takephots_peoples"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="@dimen/dp_4"android:text="xxxx"android:textColor="#ff878f99"android:textSize="12sp"app:layout_constraintBottom_toBottomOf="@+id/tv_team_day"app:layout_constraintLeft_toRightOf="@+id/tv_team_day"app:layout_constraintTop_toTopOf="@+id/tv_team_day" /><TextViewandroid:id="@+id/tv_pic_num"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:text="xxx"android:textColor="#ff878f99"android:textSize="12sp"app:layout_constraintBottom_toBottomOf="@+id/tv_takephots_peoples"app:layout_constraintLeft_toRightOf="@+id/tv_takephots_peoples"app:layout_constraintTop_toTopOf="@+id/tv_takephots_peoples" /></androidx.constraintlayout.widget.ConstraintLayout><LinearLayoutandroid:id="@+id/ll_top"android:layout_width="90dp"android:layout_height="match_parent"android:background="@color/color_gray"android:gravity="center"><TextViewandroid:id="@+id/tv_top"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"android:text="置顶"android:textColor="@color/white"android:textSize="16sp" /></LinearLayout> </com.ddmh.magic.camera.ui.widget.SwipeMenuLayout>
第二步:适配器
class TeamItemAdapter(var list: ArrayList<TeamListBean>?) :BaseQuickAdapter<TeamListBean, BaseViewHolder>(R.layout.item_team_member, list) {override fun convert(holder: BaseViewHolder, item: TeamListBean) {holder.setText(R.id.tv_team_name_short, CommonUtils.getBeforeTwoStr(item.teamName))holder.setText(R.id.tv_team_name, item.teamName)holder.setText(R.id.tv_takephots_peoples, "已xx数:2")holder.setGone(R.id.tv_top_tips, !item.topFlag)holder.setText(R.id.tv_pic_num, "照片:2")when (item.roleType) {1 -> {holder.setText(R.id.tv_admin, "主管理员")holder.setTextColor(R.id.tv_admin,AppContext.appContext.resources.getColor(R.color.color_ff615d))holder.setBackgroundResource(R.id.tv_admin, R.drawable.bg_ff615d_2radius)}2 -> {holder.setText(R.id.tv_admin, "管理员")holder.setTextColor(R.id.tv_admin,AppContext.appContext.resources.getColor(R.color.color_f2a649))holder.setBackgroundResource(R.id.tv_admin, R.drawable.bg_1af2a649_2radius)}3 -> {holder.setText(R.id.tv_admin, "成员")holder.setTextColor(R.id.tv_admin,AppContext.appContext.resources.getColor(R.color.font_39ba81))holder.setBackgroundResource(R.id.tv_admin, R.drawable.bg_39ba81_2radius)}}var tvTop = holder.getView<TextView>(R.id.tv_top)tvTop.text = if (item.topFlag) {"取消置顶"} else {"置顶"}if (item.topFlag) {holder.setBackgroundColor(R.id.ll_top,AppContext.appContext.resources.getColor(R.color.color_ff615d))} else {holder.setBackgroundColor(R.id.ll_top,AppContext.appContext.resources.getColor(R.color.font_c9cdd4))}} }
第三步:代码
mTeamAdapter.addChildClickViewIds(R.id.tv_top, R.id.cst_out) mTeamAdapter.setOnItemChildClickListener { adapter, view, position ->val bean = adapter.data[position] as TeamListBeanwhen (view.id) {R.id.tv_top -> {bean.topFlag = !bean.topFlagadapter.notification}R.id.cst_out -> {}}}
相关文章:
侧滑置顶,取消置顶
第一步:布局 <?xml version"1.0" encoding"utf-8"?> <com.ddmh.magic.camera.ui.widget.SwipeMenuLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"…...

Pycharm解决启动时候索引慢的问题
设置里去掉update里面的两个勾 shared indexes中,把自动下载索引改成不下载使用本地索引...
Http请求响应时间一般划分标准
HTTP请求的响应时间被认为是长或短通常取决于具体应用场景和性能需求。一般来说,以下是一些常见的对HTTP请求响应时间进行划分的标准: 即时响应:通常在毫秒级别的响应时间被认为是即时响应。这适用于对实时性要求较高的应用,如实时…...

生成测试报告,在Unittest框架中就是简单
测试套件(Test Suite)是测试用例、测试套件或两者的集合,用于组装一组要运行的测试(多个测试用例集合在一起)。 (1)创建一个测试套件: import unittest suite unittest.TestSuite…...
生成式人工智能的潜在有害影响与未来之路(一)
这是本文的第1版,反映了截至2023年5月15日,Generative AI的已记载的和预期的危害。由于Generative AI的发展、使用和危害的快速变化,我们承认这是一篇内在的动态论文,未来会发生变化。 在本文中,我们使用一种标准格式…...
lightdb23.3 表名与包名不能重复
LightDB 表名与包名不能重复 从 LightDB 23.3 版本开始表名和包名不能重复,与 oracle 一致。原先已已支持包名和schema名不能重复。 背景 在之前版本在同一schema 下可以创建相同名字的表和包。这会导致在存储过程中使用%type指定变量类型时,如果存在…...

Oracle 开发篇+Java通过HiKariCP访问Oracle数据库
标签:HikariCP、数据库连接池、JDBC连接池、释义:HikariCP 是一个高性能的 JDBC 连接池组件,号称性能最好的后起之秀,是一个基于BoneCP做了不少的改进和优化的高性能JDBC连接池。 ★ Java代码 import java.sql.Connection; impor…...

进销存管理系统(小杨国贸)springboot采购仓库财务java jsp源代码mysql
本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 进销存管理系统(小杨国贸)spri…...
指针初阶(2)
文章目录 5. 指针和数组6. 二级指针7. 指针数组 附: 5. 指针和数组 指针变量:指针变量就是指针变量,不是数组,指针变量的大小是4/8个字节,专门是用来存放地址的。 数组:数组就是数组,不是指针&a…...

基于Gradio的GPT聊天程序
网上很多别人写的,要用账号也不放心。就自己写了一个基于gradio的聊天界面,部署后可以本地运行。 特点: 可以用openai的,也可以用api2d,其他api可以自己测试一下。使用了langchain的库 可以更改模型,会的…...

包管理工具详解npm 、 yarn 、 cnpm 、 npx 、 pnpm(2023)
1、包管理工具npm (1)包管理工具npm: Node Package Manager,也就是Node包管理器;但是目前已经不仅仅是Node包管理器了,在前端项目中我们也在使用它来管理依赖的包;比如vue、vue-router、vuex、…...
Terraform 系列-批量创建资源时如何根据某个字段判断是否创建
系列文章 Terraform 系列文章Grafana 系列文章 概述 前文 Grafana 系列 - Grafana Terraform Provider 基础 介绍了使用 Grafana Terraform Provider 创建 Datasource. 这几天碰到这么一个现实需求: 使用 Terraform 批量创建日志数据源时, 有的数据源类型是 El…...

Android侧滑栏(一)可缩放可一起移动的侧滑栏
在实际的各类App开发中,经常会需要做一个左侧的侧滑栏,类似于QQ这种。 今天这篇文章总结下自己在开发中遇到的这类可以跟随移动且可以缩放的侧滑栏。 一、实现原理 使用 HorizontalScrollView 实现一个水平方向的可滑动的View,左布局为侧滑…...

简单程度与自负是否相关?探索STM32的学习价值
事实上,无论STM32是否简单并不重要,更重要的是我们能通过学习STM32获得什么。通过STM32,我们可以学习到许多知识:如果我们制作一个键盘或鼠标,我们可以学习USB协议。如果我们制作一个联网设备,我们需要学习…...

第二章:CSS基础进阶-part3:弹性例子布局
文章目录 Flex盒模型二、常见属性2.1 flex属性2.2 justify-content2.3 flex-wrap2.4 flex-flow2.5 align-items2.6 父容器-align-content Flex盒模型 1、普通盒模型 2、弹性盒布局 使用弹性盒布局能让容器的宽度跟随浏览器窗口的变化而变换 二、常见属性 2.1 flex属性 2.2 …...
函数与方法有区别?
有区别,当然是有区别。 不管是java、rust还是go,他们都是不一样的。 先看定义: 函数(Function) 是一段独立的代码块,用于执行特定的任务。函数可以被多次调用,并且可以接受参数和返回结果。在G…...

VMware vCenter忘记密码操作,和Linus原理一致
mount -o remount,rw / passwd root ## 修改 root 密码要选择对应账户## 输入新密码,再输入一次新密码 umount / ## 卸载根文件系统 reboot -f ## 重新引导 vCenter...

Bert详细学习及代码实现详解
BERT概述 BERT的全称是Bidirectional Encoder Representation from Transformers,即双向Transformer的Encoder,因为decoder是不能获要预测的信息的。在大型语料库(Wikipedia BookCorpus)上训练一个大型模型(12 层到 …...

Vue [Day7] 综合案例
核心概念回顾 state:提供数据 getters:提供与state相关的计算属性 mutations:提供方法,用于修改state actions:存放异步操作 modules:存模块 功能分析 https://www.npmjs.com/package/json-server#ge…...

基于R做宏基因组的进化树ClusterTree分析
写在前面 同上一篇的PCoA分析,这个也是基于公司结果基础上的再次分析,重新挑选样本,在公司结果提供的csv结果表上进行删减,本地重新分析作图 步骤 表格预处理 在公司给的ClusterTree的原始表格数据里选取要保留的样本…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...