我想在搜索栏拇指上注册一个可点击事件,以便在用户单击它时触发事件。是否可以?
结合 zwebie 和 Nermeens 的答案得出正确的解决方案:
seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
private int mProgressAtStartTracking;
private final int SENSITIVITY;
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
// handle progress change
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
mProgressAtStartTracking = seekBar.getProgress();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if(Math.abs(mProgressAtStartTracking - seekBar.getProgress()) <= SENSITIVITY){
// react to thumb click
}
}
});
因此,这实际上仅在拇指单击时触发,而不是在拇指移动时触发,也不会在单击搜索栏的其他部分时触发。
您可以调整灵敏度,因为有时单击已经使拇指移动了一点,并且在单击的同时允许进行少量更改不会那么令人沮丧。这里的一个好的值取决于搜索栏的大小及其可以具有的最大值。对我来说,3 在全宽搜索栏上运行良好,在纵向布局上最多 50 个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)