搜索栏的自定义布局或设计

时间:2016-02-10 22:14:31

标签: android android-layout android-custom-view android-seekbar

有没有办法自定义搜索栏的外观,以便我可以为搜索栏(拇指,轨道和进度)设置我自己的设计/图像。我看过这篇文章,但链接已经破了。

How to create custom layout for seekbar in android?

由于

1 个答案:

答案 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));

enter image description here enter image description here

或者您使用的是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>