From 669a435e5fe2dd1a70c9bf2023af4785b468ce4a Mon Sep 17 00:00:00 2001 From: blueJpg <2238288979@qq.com> Date: Fri, 24 May 2024 15:15:13 +0800 Subject: [PATCH] [*] improve ui --- lib/pages/lyric.dart | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/pages/lyric.dart b/lib/pages/lyric.dart index 388ab54..d2372b7 100644 --- a/lib/pages/lyric.dart +++ b/lib/pages/lyric.dart @@ -8,6 +8,7 @@ import '../widgets/searchbar.dart'; import '../widgets/nodata.dart'; import '../models/lyric_controller.dart'; import '../models/player_controller.dart'; +import '../models/playlist_controller.dart'; import '../src/rust/api/lyric.dart'; class LyricPage extends StatefulWidget { @@ -18,15 +19,22 @@ class LyricPage extends StatefulWidget { } class _LyricPageState extends State { - final TextEditingController _controllerSearch = TextEditingController(); - final FocusNode _focusNodeSearch = FocusNode(); + final TextEditingController controllerSearch = TextEditingController(); + final FocusNode focusNodeSearch = FocusNode(); final lyricController = Get.find(); final playerController = Get.find(); + final playlistController = Get.find(); final isSearching = false.obs; final downloadPath = Get.arguments["downloadPath"] as String; final currentSongIndex = Get.arguments["currentSongIndex"] as int; + @override + void initState() { + super.initState(); + controllerSearch.text = playlistController.playingSong().songName; + } + Future search(String text) async { lyricController.lyricList.clear(); @@ -35,7 +43,7 @@ class _LyricPageState extends State { return; } - _focusNodeSearch.unfocus(); + focusNodeSearch.unfocus(); isSearching.value = true; var items = await searchLyric(keyword: text.trim()); @@ -168,8 +176,8 @@ class _LyricPageState extends State { const BoxConstraints(maxHeight: CTheme.searchBarHeight), child: CSearchBar( height: CTheme.searchBarHeight, - controller: _controllerSearch, - focusNode: _focusNodeSearch, + controller: controllerSearch, + focusNode: focusNodeSearch, autofocus: lyricController.lyricList.isEmpty, hintText: "请输入关键字".tr, onSubmitted: (value) => search(value), @@ -178,7 +186,7 @@ class _LyricPageState extends State { ), const SizedBox(width: CTheme.margin * 4), GestureDetector( - onTap: () => search(_controllerSearch.text), + onTap: () => search(controllerSearch.text), child: Text("搜索".tr, style: Theme.of(context).textTheme.bodyLarge), ), ],