gpt4 book ai didi

android - 如何在辅助功能模式下将焦点设置在 Thumb for Range Seek Bar?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:37 26 4
gpt4 key购买 nike

我有一个自定义范围搜索栏,它有 2 个自定义拇指(最大和最小)用于设置搜索栏的范围。一切都按预期正常工作,但当我进入辅助功能模式时,焦点出现在范围搜索栏中,这是设备的默认行为。

到目前为止我尝试了什么:

  • 尝试从 SeekBar 类获取 Thumb View ,并在焦点应该位于搜索栏时强制使用辅助功能。
  • 使用 thumb.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED); 强制将焦点放在搜索栏的拇指上

还有

thumb.setFocusable(true);
thumb.setFocusableInTouchMode(true);

但到目前为止还没有积极的结果。

我想要的是专注于 Thumb 而不是 Seekbar 本身。

任何建议都会非常有帮助。

最佳答案

int preMin = -1;
int preMax = -1;

final RangeSeekBar<Integer> seekBar = new RangeSeekBar<Integer>(this);
seekBar.setRangeValues(0, 100);
//setNotifyWhileDragging is important method to achive this functionality
seekBar.setNotifyWhileDragging(true);

seekBar.setOnRangeSeekBarChangeListener(new RangeSeekBar.OnRangeSeekBarChangeListener<Integer>() {
@Override
public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue, Integer maxValue) {
int diff = maxValue - minValue;
if (diff == 39 || diff < 40) {
bar.setEnabled(false);
if(minValue != preMin){
seekBar.setSelectedMinValue(preMin);
}
else if(maxValue != preMax){
seekBar.setSelectedMaxValue(preMax);
}
AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
alert.setNegativeButton(getResources().getString(android.R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
seekBar.setEnabled(true);
}
});
alert.setCancelable(false);
alert.setMessage(Html.fromHtml("You cant move below 40!!")).show();

} else {
preM`enter code here`in = minValue;
preMax = maxValue;
}
}
});

关于android - 如何在辅助功能模式下将焦点设置在 Thumb for Range Seek Bar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38906143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com