有没有办法自定义搜索栏的外观,以便我可以为搜索栏(拇指,轨道和进度)设置我自己的设计/图像。我看过这篇文章,但链接已经破了。
How to create custom layout for seekbar in android?
由于
答案 0 :(得分:2)
这可能对custom seekbar有所帮助,你可以改变你想要的东西(拇指,跟踪和进展,以及更有用的东西),但只能以编程方式。我已经为这个lib做出了贡献,唯一的问题是这个搜索栏是一个范围搜索栏,但你可以分叉这个仓库并添加功能以启用范围与否,并删除其中一个拇指。
实现这一目标的最快方法是从RangeSeekBar.java
评论第498行(但您只会影响"可见性"拇指仍会对拖动做出反应,您必须编写代码更多^^)
// draw minimum thumb
drawThumb(normalizedToScreen(mNormalizedMinValue), Thumb.MIN.equals(mPressedThumb), canvas);
然后在你的Activity
内使用maxValue
:
mSeekBar.setOnRangeSeekBarChangeListener(new RangeSeekBar.OnRangeSeekBarChangeListener<Integer>() {
@Override
public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue, Integer maxValue) {
...
}
});
以下是有关如何自定义搜索栏的示例:
mSeekBar.setNotifyWhileDragging(true);
mSeekBar.setThumbImage(BitmapFactory.decodeResource(getResources(), R.drawable.seek_thumb_normal));
mSeekBar.setProgressBackgroundColor(0xFF, 0xDD, 0xDD, 0xDD);
mSeekBar.setProgressLineColor(0xFF, 0xE8, 0x4E, 0x44);
mSeekBar.setMaxHeight(Utils.convertDpToPx(getActivity(), 2));
或者您使用的是Android版面配置:
<SeekBar
...
android:progressDrawable="@drawable/seekbar_default_progress"
android:thumb="@drawable/seek_thumb"/>
<item android:id="@android:id/progress">
<clip android:drawable="@color/some_color"/>
</item>