侧滑置顶,取消置顶
第一步:布局
<?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的原始表格数据里选取要保留的样本…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...

HTTPS证书一年多少钱?
HTTPS证书作为保障网站数据传输安全的重要工具,成为众多网站运营者的必备选择。然而,面对市场上种类繁多的HTTPS证书,其一年费用究竟是多少,又受哪些因素影响呢? 首先,HTTPS证书通常在PinTrust这样的专业平…...