Android 如何使分段seekbar/滑块如下所示?

Android 如何使分段seekbar/滑块如下所示?,android,user-interface,slider,Android,User Interface,Slider,我想知道是否有人可以提供提示或源代码,以实现“圆圈-谁在附近?”中使用的以下滑块小部件。这是我第一次遇到这个小部件,我不知道这个小部件的确切名称: 我曾考虑使用定制的seekbar背景来实现这一点,但我不确定如何计算出seekbar在下一步将达到的确切像素。因为,这将独立于设备。就我而言,我计划使用图像,而不是指示器 请不要指向这个链接,因为这不是我想要实现的。他们似乎使用静态图像页脚来显示D,W,K。我试过那个应用程序,它甚至没有精确的点或D,W,K。我看过at&t的Android滑动控件

我想知道是否有人可以提供提示或源代码,以实现“圆圈-谁在附近?”中使用的以下滑块小部件。这是我第一次遇到这个小部件,我不知道这个小部件的确切名称:

我曾考虑使用定制的seekbar背景来实现这一点,但我不确定如何计算出seekbar在下一步将达到的确切像素。因为,这将独立于设备。就我而言,我计划使用图像,而不是指示器


请不要指向这个链接,因为这不是我想要实现的。他们似乎使用静态图像页脚来显示D,W,K。我试过那个应用程序,它甚至没有精确的点或D,W,K。我看过at&t的Android滑动控件,但他们似乎没有提供任何来源。我发现一些iOS开发者已经做到了这一点,但是,为了在Android中实现这一点,我并不真正理解obj C代码。

这只是一个带有自定义
拇指和背景的
seekbar
。你可以使用一个9patch作为背景,这样它就可以很好地填充,只需在你的样式中设置它们

以下@Milanix answer使用这里的库,这是一个对我有用的最低示例代码:

<com.infteh.comboseekbar.ComboSeekBar
        android:id="@+id/seekbar" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        custom:color="#000"
        custom:textSize="12sp"
        custom:multiline="false"
        />

然后在活动中

private ComboSeekBar mSeekBar;
List<String> seekBarStep = Arrays.asList("All","1","5","10","20");
mDistanceSeekBar.setAdapter(seekBarStep);
专用组合seekbar mSeekBar;
List seekBarStep=Arrays.asList(“全部”、“1”、“5”、“10”、“20”);
mDistanceSeekBar.setAdapter(参见kbarstep);
这将使用默认的绘图功能创建一个黑色分段seekbar。如果需要添加一些自定义项,请查看
ComboSeekBar.onDraw()
CustomDrawable.draw()
CustomThumbDrawable.draw()


这个项目几乎完成了,但仍然是一个坚实的起点

@Giulio谢谢你的帖子,我和Ron Eskinder有同样的问题。 我通过删除xml文件中的“custom:color”、“custom:textsize”和“custom:multiline”来修复它。然后在Java中,我把它放在:

mSeekBar =  (ComboSeekBar) findViewById(R.id.seekbar);
List<String> seekBarStep = Arrays.asList("All","1","5","10","20");
mSeekBar.setAdapter(seekBarStep);
mSeekBar=(ComboSeekBar)findViewById(R.id.seekbar);
List seekBarStep=Arrays.asList(“全部”、“1”、“5”、“10”、“20”);
mSeekBar.setAdapter(参见kbarstep);

希望这会有所帮助

我从未使用过9patch,但是,我该如何在seekbar的背景中添加(比如)A、B、C、D,使其精确地在A、B、C、D上移动。我知道如何使用自定义拇指,但我正在寻找seekbar步骤中的精确点。啊,我明白,我不确定如何做到这一点。若你们找不到更好的答案,我会尝试在下面做另一个布局,里面有线等,用权重隔开。我的猜测是,这些点将根据其宽度沿seekbar均匀放置,因此您应该能够将两者对齐。这不是一个优雅的解决方案,但它可能会根据您的需要而工作。当我将库添加到我的项目中并尝试它时,它在这一行的XML文件中给出了“错误:解析XML时出错:未绑定前缀”