自定义Seekbar的注意事项

1.在使用自定义的seekbar时出现的问题:

(1)显示不全:

720*1280:


480*800:


(2)显示一个完整seekbar,后面还有多余的另一个seekbar的一部分(参数相同,屏幕不同):

720*1280:


480*800:


2.查了很多资料,给出的建议是使用android:thumbOffset="0dp",但是使用之后出现的问题是:   

(1)thumb尺寸:20x20,进度条尺寸:400x44,左右各有2px的透明区域

android:thumbOffset="0dp"的效果

 

可以看到进度条和中间的thumb是左对齐的,而不是thumb的中间和进度条的左边重合,thumb图片越大越明显

android:thumbOffset="6dp"的效果:


没有android:thumbOffset="0dp"属性时:


(2)thumb尺寸:20x20,进度条尺寸:400x44,无透明区域

android:thumbOffset="0dp"的效果


android:thumbOffset="6dp"的效果:


没有android:thumbOffset="0dp"属性时:


3.经过尝试,我的建议是:

(1)在美工制作进度条和thumb图片时进行尺寸设置:progressDrawable图片设置时左右两边留一定量的透明区域(例如:10px),这样在设置宽度时不易出现多余部分

(2)如果progressDrawable进度条比较窄时,图片的整体高度尽量要和thumb高度一致,这样容易保证高度方向的中心点重合,progressDrawable图片的高度方向上可以用透明区域来填充(为了好控制宽度)。

(3)seekbar宽度设置时尽量设置为固定尺寸,如果不设置固定尺寸,容易出现显示不全或者显示多余,多屏显示会出现问题。

例如:

  <SeekBar
            android:id="@+id/safearea_seekbar"
            android:layout_width="270dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:thumbOffset="6dp"
            android:progressDrawable="@drawable/seekbar"
            android:thumb="@drawable/thumb"/>

图片参数:360*44,左右各2px的透明区域


效果:720*1280


480*800:


注意:android:paddingLeft="15dp"
            android:paddingRight="15dp"设置时尽量使thumb的一半(要换算单位啊)

4.本人新手,可能有很多问题考虑不全,希望有好的方法大家一起分享。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值