当前位置: 首页 > backend >正文

项目中的一些比较实用的自定义控件

     本文是记录项目开发中一些相对复杂但都比较实用的控件,这些控件都是基于自定义的方式去实现,如果有需要的朋友,这个可以作为一个参考,同时也做一个自我总结。

    (1)子项大小不一致的RecyclerView(占一个格子,两个格子,四个格子。。。)

   

 注意:上面两个图示主要展示子项占用格子数(项目为5行5列,下面看不见的可以上拉显示,其中驾驶模式占2行2列,仪表盘亮度占2行1列,静音占1行1列,行列可以根据自己需求设计,但不大于最大行,另外上面两图展示了中间的格子是可以互相拖动的)。

(2)竖直的seekbar(有间隔)

     

注意:此为自定义的上下滑动条,非android自带的seekbar,可以上下拖动,可以根据自己需求定制(添加竖轴线,只显示一个滑块,滑块间隔,轴中各个点的大小,颜色等)

(3)横向可以多个选项切花的按钮

代码:

<com.google.android.material.tabs.TabLayoutandroid:id="@+id/tab_layout_time"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/shape_time_switch_track_off"android:orientation="horizontal"app:tabBackground="@android:color/transparent"app:tabIndicator="@drawable/shape_tab_indicator"app:tabMinWidth="300dp"app:tabIndicatorColor="@color/white"app:tabIndicatorFullWidth="true"app:tabIndicatorHeight="49dp"app:tabMaxWidth="490dp"app:tabRippleColor="@android:color/transparent"app:tabSelectedTextColor="@android:color/holo_blue_light"app:tabTextColor="@color/white"app:layout_constraintTop_toTopOf="parent"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"><com.google.android.material.tabs.TabItemandroid:id="@+id/tab_time_12"android:layout_width="wrap_content"android:layout_height="wrap_content"android:gravity="center"android:text="@string/about_time_12_24"android:textSize="15sp" /><com.google.android.material.tabs.TabItemandroid:id="@+id/tab_time_24"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/about_time_24_12"android:textSize="15sp" /><com.google.android.material.tabs.TabItemandroid:id="@+id/tab_time_48"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/about_time_48_24"android:textSize="15sp" /></com.google.android.material.tabs.TabLayout>

注意:其中的TabItem可以写多个,满足3个或者以上的子选项(如果使用switch则只能是两个选项互相切换,不能有多个选项切换)      

(4)竖向滚动选择器

以上是项目开发中遇到的一部分需要自定义的view,有需要的可以参考下,现在做一个记录,后续如果还有更多的需要定制的view,这边会陆陆续续地上传在这个文章里面,当然如果你也有很好地很使用项目中的,或者项目中开发很常见需要定制的控件,可以分享分享,谢谢。

整个自定义view(包含上述所有自定义控件)的代码地址

https://gitee.com/daxiangzaici/custom-view.git

http://www.xdnf.cn/news/20333.html

相关文章:

  • Python文件打包为EXE的工具v1.0
  • 《AI大模型应知应会100篇》第67篇 Web应用与大模型集成开发实践——1小时打造国产大模型智能客服系统
  • MySQL问题5
  • github上传步骤
  • 季度最强策略:年化247%,回撤10%,夏普比率3.79。附大小盘轮动策略python源代码。
  • Nestjs框架: 使用 CASL 库实现基于角色的权限控制(RBAC)与细粒度访问控制的实战演示
  • 【嵌入式C语言】七
  • 【IQA技术专题】 多尺度的transformer网络IQA:MUSIQ
  • GO语言的主要语法和特性
  • 跨平台游戏引擎 Axmol-2.8.1 发布
  • 突破反爬限制:动态IP轮换策略与实现
  • XXL-JOB源码分析(服务端)
  • “唐人街大赛第二届”题解
  • Spring Boot 3.x 的 @EnableAsync应用实例
  • 基于51单片机的信号发生器函数发生器设计
  • 存储卡备用区用尽,拷贝机设置坏块数量又有何意义?
  • hot100-贪心算法(附图解思路)
  • 项目升级--Nginx
  • 一种基于迁移学习的零样本故障诊断方法
  • WSL2环境下因服务器重装引发的SSH连接问题排查记录
  • fastapi通过sqlmodel连接Mysql实现crud功能
  • 如何进行神经网络的模型训练(视频代码中的知识点记录)
  • 2025最新超详细FreeRTOS入门教程:第一章 FreeRTOS移植到STM32
  • dp算法的种类
  • 制衣跟单高效管理软件推荐
  • linux 安全与防护,全方向讲解
  • 华清远见25072班I/O学习day6
  • Qt绘图功能学习笔记
  • 北斗导航 | 导航定位中的卡尔曼滤波算法:原理、公式及C代码详解
  • XXL-JOB基本使用