这个问题的变体可以在整个互联网上找到,但没有答案。
我想要一个带有两个拇指范围选择的搜索栏。我愿意自己编程,但我缺乏使用 Android 的经验。有人可以给我一些关于从哪里开始的指示。我的意思是,我知道我将不得不扩展一些东西(可能是ProgressBar),但是我应该如何去做呢?我真的必须重新创建标准搜索栏的所有功能,还是有更简单的方法?
当然也欢迎完整的解决方案;)
我也在找这个,没用。所以我做了一个新的小部件,随意使用它:https ://github.com/anothem/android-range-seek-bar
“我也在找这个,没用。所以我做了一个新的小部件,随意使用它:https ://code.google.com/p/range-seek-bar/ ”
这个斯蒂芬链接的例子很好用!但是,用户必须按下任何拇指才能获得响应。我希望如果用户按下该栏,最近的拇指会移动到该位置并像往常一样工作。
我在示例代码中实现了这一点,如下所示:
private final Thumb getClosestThumb(float touchX)
{
double xValue = screenToNormalized(touchX);
return (Math.abs(xValue - normalizedMinValue) < Math.abs(xValue - normalizedMaxValue)) ? Thumb.MIN : Thumb.MAX;
}
而在“ public boolean onTouchEvent(MotionEvent event)
”中,
if(pressedThumb == null),
pressedThumb = getClosestThumb(mDownMotionX);
带有左右图标的窗口搜索栏。
可预设的最小窗口大小和自动反交叉。
位于https://bitbucket.org/nimbusgb/windowed-seek-bar的 Mercurial 存储库
我使用了 anthem/android-range-seek-bar 库
https://github.com/anothem/android-range-seek-bar
在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
等,您不必使用另一个 3rd 方库。
材质库还附带RangeSlider,可用于选择一系列值。
材料库 -实现 'com.google.android.material:material:latestVersion'