所以我的应用程序中有一个SeekBar,我正在使用Android的TalkBack功能。当SeekBar滚动时,设备会显示“SeekBar control,50%”。是否有可能改变它所以它说实际值(从-4到+4),如“SeekBar控制,负4”?
答案 0 :(得分:1)
虽然不是完美的答案,但我找到了这个有用的方法: https://developer.android.com/reference/android/view/View.html#announceForAccessibility(java.lang.CharSequence)
这基本上使得TalkBack功能在特定事件期间进行通话。我在OnSeekBarChangeListener中添加了这个,以便在每次更改滑块的值时使其“通话”。
答案 1 :(得分:1)
如果您使用的是SeekBar,我认为您正在某个地方跟踪该值。在我们的示例中,SeekBar上方有一个TextView,它显示从SeekBar的进度派生的当前值。
我发现将android:accessibilityLiveRegion="assertive"
设置为TextView的属性非常有效。结果将宣布已更新的值(因为TextView已更新),然后是SeekBar的进度。
注意:将android:accessibilityLiveRegion
设置为assertive
对我们来说是适当的,因为用户快速更改SeekBar的进度花费的时间更少。将其设置为polite
会宣布每个增量,而assertive
会将未宣布的增量跳过到最近。
答案 2 :(得分:0)
是的,它可能。
你说它显示" SeekBar控制,50%"意味着你得到百分比。
因此,使用此百分比来实现目标:
int minValue = -4;
int maxValue = 4;
int diff = maxValue - minValue;
int realProgress = minValue + (diff * percentage / 100);
realProgress是你的答案。
希望它会对你有所帮助!