当前位置:网站首页 > 技术博客 > 正文

安卓自定义seekbar



SeekBar 自定义 样式 详解

 

SeekBar是ProgressBar的扩展,添加了可拖动的滑块。

我们使用进度条时,可以使用系统默认的进度条;

也可以自定义进度条的图片和滑块图片等。

用户可以触摸拇指并向左或向右拖动以设置当前进度级别,或使用箭头键。

不建议将可聚焦的小部件放置在SeekBar的左侧或右侧。

 

 

 

 
  

 

 
  

 

SeekBar的结构分析图

属性:

 
  

 


1、滑块不能位于进度条的最左边


解决方案: 设置偏移量

 
  

 

2、滑块不能居中在进度条中


解决方案:设置高度自适应,会自动契合滑块高度

 
  

然后使用以下属性设置高度

 
  

3、如何在滑块上写字


解决方案:重写ondraw方法

 
  

  
在seekbar上面覆盖一个TextView
 

 
  

 
4、seekbar 中 thumb 出现的不透明效果


问题描述:
在Android5.0以上会出现thumb周围有一圈白色的不明东西,遮挡到父布局

解决方案:
设置splitTrack属性为false就可以了

 
  

5、seekbar距离左右会有一定的边距


解决方案
设置seekbar的paddingleft与paddingright为0dp

 
  

 


6、禁止seekbar点击跳转进度,只能拖拽


解决思路

保存一个旧的位置progress——oldsign,默认是0,用户点击seekbar后方的时候,记录用户点击的progress

通过判断当前点击的progress是否 < (oldsign+某个值),

如果是则能拖动,如果否则设置seekbar位置progress为0,从而达到不动效果。

 

解决方案一:

 
  

 

解决方案二:可以解决从中间进行拖拽出现的问题

 
  

OVER ~! 仅供参考~!

 

 

 

 

 

 

 

 

 

 

 

 

 

版权声明


相关文章:

  • 迭代器iterator三个方法2025-06-24 20:30:05
  • 火鸟字幕官网2025-06-24 20:30:05
  • linux curses2025-06-24 20:30:05
  • 无栈协程原理2025-06-24 20:30:05
  • 方波微分电路输出波形2025-06-24 20:30:05
  • mysql内置函数应用2025-06-24 20:30:05
  • shell aes256加密2025-06-24 20:30:05
  • 广州达测科技有限公司2025-06-24 20:30:05
  • linux系统中文件权限管理2025-06-24 20:30:05
  • 安卓xposed插件大全2025-06-24 20:30:05