两个拇指的Android Seekbar
这个问题在互联网上随处可见,但没有答案 我想要一个有两个拇指范围选择的seekbar。我愿意自己编程,但我缺乏Android的经验。有人能给我指点从哪里开始吗。我的意思是,我知道我将不得不扩展一些东西(ProgressBar可能),但我应该怎么做呢?我真的必须重新创建标准seekbar的所有功能,还是有更简单的方法两个拇指的Android Seekbar,android,range,seekbar,Android,Range,Seekbar,这个问题在互联网上随处可见,但没有答案 我想要一个有两个拇指范围选择的seekbar。我愿意自己编程,但我缺乏Android的经验。有人能给我指点从哪里开始吗。我的意思是,我知道我将不得不扩展一些东西(ProgressBar可能),但我应该怎么做呢?我真的必须重新创建标准seekbar的所有功能,还是有更简单的方法 当然,也欢迎提供完整的解决方案;) 我也在找这个,但没有用。因此,我制作了一个新的小部件,可以随意使用: 带有左右图标的窗口搜索栏。 可预设的最小窗口大小和自动防交叉 Mercur
当然,也欢迎提供完整的解决方案;) 我也在找这个,但没有用。因此,我制作了一个新的小部件,可以随意使用:
带有左右图标的窗口搜索栏。
可预设的最小窗口大小和自动防交叉 Mercurial repository位于“我也在寻找这个,但没有结果。因此我制作了一个新的小部件,可以随意使用它:” 这个例子斯蒂芬链接工程伟大! 但是,用户必须按任意拇指才能获得响应。我希望,如果用户按下该条,最近的拇指将移动到该位置,并像正常一样工作 我在示例代码中实现了这一点,如下所示:
private final Thumb getClosestThumb(float touchX)
{
double xValue = screenToNormalized(touchX);
return (Math.abs(xValue - normalizedMinValue) < Math.abs(xValue - normalizedMaxValue)) ? Thumb.MIN : Thumb.MAX;
}
我使用了anothem/android范围搜索栏库 在xml中
<org.florescu.android.rangeseekbar.RangeSeekBar
android:id="@+id/pricebar_with_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
rsb:absoluteMinValue="20"
rsb:absoluteMaxValue="150"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
/>
如果您正在使用任何材质组件,例如:
Snackbar、BottomNavigationView
等。您不必使用其他第三方库
材质库也随附,可用于选择一系列值
Material library-实现'com.google.android.Material:Material:latestVersion'为什么不尝试扩展SeekBar本身或AbsSeekBar?这是SeekBar的源代码。。。您可以查看它和Abseekbar源代码,了解添加和处理第二个拇指需要什么。您好,Quonk先生,我尝试过,但是扩展/修改Abseekbar非常复杂,我已经使用ImageView创建了自己的控件。这是非常容易和简单的定制seekbar这一个是真棒!如果开始和结束可以颠倒,如果它能保持状态(从首选项或其他东西加载)像这样,但扩展正常的SeekBar,那就更可怕了?@Brandon这个例子是为了尽可能的通用。视图组是大多数布局的超类。替换为您选择的特定布局-例如RelativeLayout。使用双向完全自定义搜索栏此库似乎不再正确构建。也不赞成。“我不知道为什么,”斯蒂芬泰尔,我也试过这么做。请在你们的项目中添加这个答案,这样就没有人会像我一样面对这个问题。谢谢这个。相当老的帖子。我有一个疑问。我希望最小值每次递增或递减10。如何实现这一点?此组件是一个1000行的讨厌的糟糕代码和性能差的组件,不应使用。请在自述文件中添加此示例:)如何删除最小/最大标签?@RajuGujarati添加此属性rsb:showLabels=“false”此组件是一个讨厌的糟糕代码和性能差的1000行组件,不应使用。
<org.florescu.android.rangeseekbar.RangeSeekBar
android:id="@+id/pricebar_with_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
rsb:absoluteMinValue="20"
rsb:absoluteMaxValue="150"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
/>