如果移动端访问不佳,请使用–>GitHub版

背景

设计师给的设计图完全依照 IOS 的标准来的,导致很多细节的控件都得自己重写,最近的设计图中有显示滚动条,Android 默认的滚动条样式(带描边)和设计图格格不入,无奈,只好研究下自定义 Scrollbar 样式。这里稍微整理下。

知识点

在ListView/ScrollView/RecyclerView中添加属性:

android:scrollbars="vertical"

android:scrollbarTrackVertical="@drawable/xxx_vertical_track"

android:scrollbarThumbVertical="@drawable/xxx_vertical_thumb"

android:scrollbars="horizontal"

android:scrollbarTrackHorizontal="@drawable/xxx_horizontal_track"

android:scrollbarThumbHorizontal="@drawable/xxx_horizontal_thumb"

android:scrollbarStyle="outsideInset"

android:scrollbarSize="4dp"

属性

效果

scrollbarThumbVertical[Horizontal]

短条

scrollbarTrackVertical[Horizontal]

长条,即背景

即scrollbaTrackxxx,scrollbarThumbxxx自定义的 xml 文件,放在Drawable中,track是指长条,thumb是指短条,然后再 xml 中定义短条和长条的样式。

需要注意

其中,scrollbaTrackxxx、scrollbarThumbxxx可以使用:

Shape自定义 Drawable

图片

.9.png

@color/xxx的方式使用颜色值

不可以直接使用#xxxxxx颜色值

android:scrollbarStyle

android:scrollbarStyle可以定义滚动条的样式和位置,可选值有insideOverlay、insideInset、outsideOverlay、outsideInset四种。

其中inside和outside分别表示是否在 view 的 padding 区域内,overlay和inset表示覆盖在 view 上或是插在 view 后面,所以四种值分别表示:

属性值

效果

insideOverlay

默认值,表示在padding区域内并且覆盖在view上

insideInset

表示在padding区域内并且插入在view后面

outsideOverlay

表示在padding区域外并且覆盖在view上

outsideInset

表示在padding区域外并且插入在view后面

Demo

下面是两个Demo:

color:

#CCFF6464

#00000000

drawable:scrollbar_vertical_thumb

Demo 1

layout:

android:scrollbarStyle="outsideOverlay"

android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb"

android:scrollbarSize="3dp"

android:scrollbars="vertical"

Demo 2

layout:

android:scrollbarStyle="outsideOverlay"

android:scrollbarThumbVertical="@color/red_square"

android:scrollbarSize="3dp"

android:scrollbars="vertical"

效果图

默认样式 :

Demo 1 :

Demo 2:

总结

在查资料的过程中,发现滚动条也可以使用代码来画,这里不做过多介绍,有兴趣的可以研究一下。

PS:

Android自定义ScrollBar,Android必知必会-自定义Scrollbar样式相关推荐

  1. Android 性能优化必知必会(2020-5-16)

    做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以 ...

  2. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    为什么80%的码农都做不了架构师?>>>    本文原作者:"竹千代",原文由"玉刚说"写作平台提供写作赞助,原文版权归"玉刚说&q ...

  3. 操作系统:手把手带你扫盲 操作系统 的那些必知必会!

    前言 操作系统 应是程序猿需掌握的知识,但往往会被忽略 今天,我将手把手带大家扫盲 操作系统 的那些必知必会!希望你们会喜欢. 目录 1. 跨进程通信方式(IPC) 注:此处给出移动端 Android ...

  4. asp sql ip地址排序_SQL必知必会读书笔记,30分钟入门SQL!

    点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 来源:https://segmentfault.com/p/1210000011760 ...

  5. GitHub#SQL#:SQL必知必会

    https://github.com/CyC2018/Interview-Notebook 一.基础 二.创建表 三.修改表 四.插入 五.更新 六.删除 七.查询 八.排序 九.过滤 十.通配符 十 ...

  6. MySQL必知必会学习历程(一)

    MySQL必知必会学习历程(一) 前言 第1章 了解SQL 1.1 关键术语介绍 1.2 数据表解释实例 第2章 MySQL简介 2.1 关键术语介绍 2.2 安装mysql命令行实用程序(可选) 2 ...

  7. java面试必知必会

    java面试必知必会 面向对象 成员变量成员方法 Integer相关 double 和 Double相关 多态,向上转型 hashcode.==.equals比较 java中子类继承父类时是否继承构造 ...

  8. 30 分钟读完《MySQL 必知必会》

    第一章 了解 SQL 介绍几个数据库的概念 数据库(database) 通过DBMS创建和操纵的保存有组织的数据的容器(通常是一个文件或一组文件). 数据库软件/数据库管理系统(DBMS)访问数据库, ...

  9. 猿创征文|计算机类学生必知必会的开发工具

    计算机类学生必知必会的开发工具目录 前言 一.浏览器工具 1.在线工具 2.插件扩展 二.优化电脑使用工具 1.notpad++ 2.plotplayer 3.Office Tool Plus--强大 ...

  10. 程序员必知必会之 word 篇

    程序员必知必会之 word 篇 网易广州 赖勇浩 程序员必知必会之blog篇 地址:http://blog.csdn.net/lanphaday/archive/2007/08/16/1746852. ...

最新文章

  1. 都说过了,它跟蛇没关系
  2. 存储引擎——概述|| 各种存储引擎的特性(InnoDB||MyISAM||MEMORY||MERGE) ||存储引擎的选择
  3. 网络:301和302
  4. 过滤器Filter(17/4/8)
  5. Go 内存对齐的那些事儿
  6. 为多孔介质的当量直径_新型纳米多孔碳材料在催化剂载体方面的应用
  7. POJ-1236 Network of Schools 缩点
  8. python编写命令行框架_python的pytest框架之命令行参数详解(上)
  9. [活动]《博客园精华集》设计模式分册第2轮筛选结果公示
  10. 手把手教你 3 个 Linux 中快速检测端口的小技巧
  11. 用户、角色、权限管理-设计方案之权限检测
  12. 【车间调度】基于matlab遗传算法求解柔性车间调度问题【含Matlab源码 660期】
  13. GEE开发之Landsat_SR计算地表温度(不推荐)
  14. 【String-easy】551. Student Attendance Record I 学生迟到和旷课
  15. 原创【歌词类】雪中吟
  16. 纽约大学历年本科生录取数据分析
  17. <博弈论> HDU1846
  18. 关于ZXing二维码扫描的时候偶然出现数字问题
  19. ps国画效果案例制作教程和思路介绍
  20. python查答案_大学慕课Python编程基础答案查题公众号

热门文章

  1. 失业的程序员(三):口才帝和表情帝
  2. 主机之间ssh免密码登录
  3. HTML中id选择器和class选择器的区别(为什么id选择器不能重复)
  4. 如何给微信小程序搜索优化?
  5. java 堆外内存_详解Java堆外内存
  6. 和AI女友“关晓彤”在元宇宙谈了一场恋爱,但这结局我不能接受!| 巴比特体验官...
  7. 2021-07-16华硕物理机安装centos7与Windows10双系统
  8. 西安,又开始堵车了。。。
  9. 旺店通·旗舰奇门和金蝶云星空接口打通对接实战
  10. Xmanager7远程登录ubuntu20.04