Commit 5989d2509d1e2369f53134da92ac875c0ddeb5e1
1 parent
1de82c6c
feat:体验优化-选择题选中边框及时重置
Showing
3 changed files
with
20 additions
and
1 deletions
lib/pages/practice/bloc/topic_picture_bloc.dart
... | ... | @@ -85,6 +85,7 @@ class TopicPictureBloc |
85 | 85 | on<XSVoiceResultEvent>(_voiceXsResult); |
86 | 86 | on<XSVoiceInitEvent>(_initVoiceSdk); |
87 | 87 | on<SelectItemEvent>(_selectItemLoad); |
88 | + on<SelectItemResetEvent>(_selectItemReset); | |
88 | 89 | on<RequestDataEvent>(_requestData); |
89 | 90 | on<XSVoiceStartEvent>(_voiceXsStart); |
90 | 91 | on<XSVoiceStopEvent>(_voiceXsStop); |
... | ... | @@ -210,13 +211,22 @@ class TopicPictureBloc |
210 | 211 | /// right音频长度比动效短,所以等动效完了再翻页 |
211 | 212 | AudioPlayerUtil.getInstance().playAudio(AudioPlayerUtilType.right); |
212 | 213 | await showStarRewardDialog(context, onDismiss: () { |
214 | + _resetSelectItem(); | |
213 | 215 | autoFlipPage(); |
214 | 216 | }); |
215 | 217 | } else { |
216 | 218 | await AudioPlayerUtil.getInstance().playAudio(AudioPlayerUtilType.wrong); |
219 | + _resetSelectItem(); | |
217 | 220 | } |
218 | 221 | } |
219 | 222 | |
223 | + ///重置选择 | |
224 | + void _selectItemReset( | |
225 | + SelectItemResetEvent event, Emitter<TopicPictureState> emitter) async { | |
226 | + ///用于一次完整的选择后重置视图 | |
227 | + emitter(SelectItemResetState()); | |
228 | + } | |
229 | + | |
220 | 230 | ///为空则数据异常,用于是否晃动时需要 |
221 | 231 | bool? checkAnswerRight(int selectIndex) { |
222 | 232 | CourseProcessTopics? topics = _entity?.topics?[_currentPage]; |
... | ... | @@ -319,11 +329,15 @@ class TopicPictureBloc |
319 | 329 | await _voiceXsCancel(); |
320 | 330 | } |
321 | 331 | |
332 | + void _resetSelectItem() { | |
333 | + _optionSelectItem = -1; | |
334 | + add(SelectItemResetEvent()); | |
335 | + } | |
336 | + | |
322 | 337 | Future<void> closePlayerResource() async { |
323 | 338 | if (voicePlayState == VoicePlayState.playing) { |
324 | 339 | await audioPlayer.stop(); |
325 | 340 | } |
326 | - await ClickWithMusicController.instance.reset(); | |
327 | 341 | } |
328 | 342 | |
329 | 343 | ///是否是最后一页 | ... | ... |
lib/pages/practice/bloc/topic_picture_event.dart
... | ... | @@ -45,6 +45,9 @@ class SelectItemEvent extends TopicPictureEvent { |
45 | 45 | SelectItemEvent(this.selectIndex); |
46 | 46 | } |
47 | 47 | |
48 | +///选项重置,用于播放作答动效后重置(边框等) | |
49 | +class SelectItemResetEvent extends TopicPictureEvent {} | |
50 | + | |
48 | 51 | ///音频播放事件 |
49 | 52 | class VoicePlayChangeEvent extends TopicPictureEvent {} |
50 | 53 | ... | ... |
lib/pages/practice/bloc/topic_picture_state.dart