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.本人新手,可能有很多问题考虑不全,希望有好的方法大家一起分享。