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

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

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

    (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.dtcms.com/a/370924.html

相关文章:

  • 【Canvas与图标】古铜色“HTML”图标
  • 【Postman】对GET请求的参数进行URL编码
  • 【IQA技术专题】 多尺度的transformer网络IQA:MUSIQ
  • 嵌入式学习——ARM 体系架构1
  • Kafka面试精讲 Day 9:零拷贝技术与高性能IO
  • 【65页PPT】智慧数字乡村农业大数据平台解决方案(附下载方式)
  • 服务器线程高占用定位方法
  • 【基础-单选】关于UIAbility的启动模式,下列说法错误的是
  • 【111】基于51单片机停车场车位管理系统【Proteus仿真+Keil程序+报告+原理图】
  • mysql死锁排查与解决
  • 从零开始学AI——14
  • 【CSP-S】数据结构 ST 表详解
  • 积分球的使用——简易版
  • 基于Echarts+HTML5可视化数据大屏展示-图书馆大屏看板
  • 讲解一下冒泡排序
  • 【基础-单选】关于容器组件Row和Column,下面说法错误的是
  • 【佳易王药品进销存软件实测】:操作简单 + 全流程管理,医药台账管理好帮手#软件教程全解析
  • 项目升级--Nginx
  • HOT100--Day13--104. 二叉树的最大深度,226. 翻转二叉树,101. 对称二叉树
  • 修复存在坏块或05、C4、C5 S.M.A.R.T错误的硬盘
  • LwIP入门实战 — 4 LwIP的网络接口管理
  • rapidocr v3.4.0发布了
  • 硬件开发_基于物联网的老人跌倒监测报警系统
  • ARM体系结构学习①
  • 【LeetCode热题100道笔记】验证二叉搜索树
  • 垃圾收集器分类
  • AQS原理
  • Nestjs框架: 使用 CASL 库实现基于角色的权限控制(RBAC)与细粒度访问控制的实战演示
  • 计算机主板上的那颗纽扣电池的作用是什么?
  • 【Java实战㉗】Java日志框架实战:Logback与Log4j2的深度探索