fix: 修复歌单列表显示问题

master
Spark 1 week ago
parent c4583e9d82
commit cbdad8db5b

@ -151,6 +151,7 @@ class _UserViewState extends State<UserView> {
], ],
), ),
), ),
const SizedBox( const SizedBox(
height: 10, height: 10,
), ),
@ -195,75 +196,100 @@ class _UserViewState extends State<UserView> {
), ),
], ],
)), )),
/// ///
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'歌单 $playlistCount',
style: const TextStyle(
fontSize: 20, fontWeight: FontWeight.w500),
),
Row(
children: [
IconButton(
onPressed: () {
_showAddPlaylistDialog();
},
icon: Image.asset(
"assets/img/user_add.png",
width: 31,
color: const Color(0xff404040),
)),
IconButton(
onPressed: () {},
icon: Image.asset("assets/img/user_export.png",
width: 31))
],
)
],
),
Container( Container(
padding: const EdgeInsets.only(left: 15, right: 15, top: 10, bottom: 5), child: Column(
child: ListView.builder( crossAxisAlignment: CrossAxisAlignment.start,
shrinkWrap: true, // 使ListView children: [
itemCount: playlistNames.length, // itemCount //
itemBuilder: (context, index) { Row(
return InkWell( mainAxisAlignment: MainAxisAlignment.spaceBetween,
onTap: () { children: [
print('点击成功'); Text(
Get.to(MyMusicView(songlistIdd: playlistid[index])); '歌单 $playlistCount',
// style: const TextStyle(
// fontSize: 20,
}, fontWeight: FontWeight.w500
child: Row( ),
mainAxisAlignment: MainAxisAlignment.spaceBetween, ),
children: [ Row(
Image.asset("assets/img/artist_pic.png"), children: [
Column( IconButton(
crossAxisAlignment: CrossAxisAlignment.start, onPressed: () {
_showAddPlaylistDialog();
},
icon: Image.asset(
"assets/img/user_add.png",
width: 31,
color: const Color(0xff404040),
)
),
IconButton(
onPressed: () {},
icon: Image.asset(
"assets/img/user_export.png",
width: 31
)
)
],
)
],
),
const SizedBox(
height: 10,
),
//
Padding(
padding: const EdgeInsets.symmetric(horizontal: 15),
child: Column(
children: List.generate(
playlistNames.length,
(index) => Column(
children: [ children: [
Text( InkWell(
playlistNames[index], // onTap: () {
style: TextStyle(fontSize: 20), print('点击成功');
), Get.to(MyMusicView(songlistIdd: playlistid[index]));
Text( },
'$playlistCount', // child: Row(
style: TextStyle(fontSize: 16), children: [
Image.asset("assets/img/artist_pic.png"),
const SizedBox(width: 25),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
playlistNames[index],
style: const TextStyle(fontSize: 20),
),
Text(
'$playlistCount',
style: const TextStyle(fontSize: 16),
),
],
),
),
Image.asset("assets/img/user_next.png"),
],
),
), ),
if (index < playlistNames.length - 1)
const SizedBox(height: 10),
], ],
), ),
const SizedBox(width: 80), ),
Image.asset("assets/img/user_next.png"),
],
), ),
); ),
}, ],
), ),
), ),
const SizedBox( const SizedBox(
height: 20, height: 30,
), ),
const Text( const Text(
@ -399,8 +425,19 @@ class _UserViewState extends State<UserView> {
content: TextFieldColor(controller: _controller, hintText: '请输入歌单名称'), content: TextFieldColor(controller: _controller, hintText: '请输入歌单名称'),
actions: <Widget>[ actions: <Widget>[
TextButton( TextButton(
onPressed: () { onPressed: () async {
Navigator.of(context).pop(); Navigator.of(context).pop();
String enteredSongName = _controller.text;
SonglistBean bean = await SonglistApi().addSonglist(
songlistName: enteredSongName,
Authorization: AppData().currentToken);
if (bean.code == 200) {
print('添加成功');
setState(() {
playlistCount++;
playlistNames.add(enteredSongName);
});
}
}, },
style: TextButton.styleFrom( style: TextButton.styleFrom(
backgroundColor: const Color(0xff429482), backgroundColor: const Color(0xff429482),
@ -410,24 +447,13 @@ class _UserViewState extends State<UserView> {
), ),
), ),
child: const Text( child: const Text(
"取消", "确认",
style: TextStyle(color: Colors.white), style: TextStyle(color: Colors.white),
), ),
), ),
TextButton( TextButton(
onPressed: () async { onPressed: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
String enteredSongName = _controller.text;
//playlistCount++;
// Add the new playlist
setState(() {
//playlistNames.add(enteredSongName);
_fetchSonglistData();
});
// songlistName: _controller.text,
SonglistBean bean = await SonglistApi().addSonglist(
songlistName: enteredSongName,
Authorization: AppData().currentToken);
}, },
style: TextButton.styleFrom( style: TextButton.styleFrom(
backgroundColor: const Color(0xff429482), backgroundColor: const Color(0xff429482),
@ -437,7 +463,7 @@ class _UserViewState extends State<UserView> {
), ),
), ),
child: const Text( child: const Text(
"确认", "取消",
style: TextStyle(color: Colors.white), style: TextStyle(color: Colors.white),
), ),
), ),

@ -181,10 +181,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: file_selector_linux name: file_selector_linux
sha256: "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2" sha256: b2b91daf8a68ecfa4a01b778a6f52edef9b14ecd506e771488ea0f2e0784198b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.9.3" version: "0.9.3+1"
file_selector_macos: file_selector_macos:
dependency: transitive dependency: transitive
description: description:

Loading…
Cancel
Save