Compare commits

...

3 Commits

Author SHA1 Message Date
Spark cbdad8db5b fix: 修复歌单列表显示问题
1 week ago
Spark c4583e9d82 Merge branch 'refs/heads/dev'
1 week ago
Spark 230fe5511d fix: 修复歌单页面重复显示的问题
1 week ago

@ -151,6 +151,7 @@ class _UserViewState extends State<UserView> {
],
),
),
const SizedBox(
height: 10,
),
@ -195,139 +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(
padding: const EdgeInsets.only(left: 15, right: 15, top: 10, bottom: 5),
child: ListView.builder(
shrinkWrap: true, // 使ListView
itemCount: playlistNames.length, // itemCount
itemBuilder: (context, index) {
return InkWell(
onTap: () {
print('点击成功');
Get.to(MyMusicView(songlistIdd: playlistid[index]));
//
//
},
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Image.asset("assets/img/artist_pic.png"),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
playlistNames[index], //
style: TextStyle(fontSize: 20),
),
Text(
'$playlistCount', //
style: TextStyle(fontSize: 16),
),
],
),
const SizedBox(width: 80),
Image.asset("assets/img/user_next.png"),
],
),
);
},
),
),
InkWell(
onTap: () {
Get.to(const MyMusicView());
},
child: Column(
children: List.generate(playlistNames.length, (index) {
return Dismissible(
key: Key(playlistNames[index]),
direction: DismissDirection.endToStart,
background: Container(
color: Colors.red,
alignment: Alignment.centerRight,
padding: const EdgeInsets.only(right: 20.0),
child: const Icon(
Icons.delete,
color: Colors.white,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
//
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'歌单 $playlistCount',
style: const TextStyle(
fontSize: 20,
fontWeight: FontWeight.w500
),
),
),
confirmDismiss: (direction) async {
return await _showDeleteConfirmationDialog(
context, index);
},
onDismissed: (direction) {
setState(() {
playlistNames.removeAt(index);
playlistid.removeAt(index);
playlistCount--;
});
},
child: ListTile(
title: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
Row(
children: [
Row(
children: [
Image.asset("assets/img/artist_pic.png"),
const SizedBox(
width: 30,
),
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
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
)
)
],
)
],
),
const SizedBox(
height: 10,
),
//
Padding(
padding: const EdgeInsets.symmetric(horizontal: 15),
child: Column(
children: List.generate(
playlistNames.length,
(index) => Column(
children: [
InkWell(
onTap: () {
print('点击成功');
Get.to(MyMusicView(songlistIdd: playlistid[index]));
},
child: Row(
children: [
Text(
playlistNames[index],
style: const TextStyle(fontSize: 18),
),
const Text(
'0首',
style: TextStyle(fontSize: 18),
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"),
],
),
],
),
Image.asset(
"assets/img/user_next.png",
)
],
),
if (index < playlistNames.length - 1)
const SizedBox(height: 10),
],
),
),
),
);
}),
),
],
),
),
const SizedBox(
height: 20,
height: 30,
),
const Text(
@ -463,8 +425,19 @@ class _UserViewState extends State<UserView> {
content: TextFieldColor(controller: _controller, hintText: '请输入歌单名称'),
actions: <Widget>[
TextButton(
onPressed: () {
onPressed: () async {
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(
backgroundColor: const Color(0xff429482),
@ -474,22 +447,13 @@ class _UserViewState extends State<UserView> {
),
),
child: const Text(
"取消",
"确认",
style: TextStyle(color: Colors.white),
),
),
TextButton(
onPressed: () async {
onPressed: () {
Navigator.of(context).pop();
String enteredSongName = _controller.text;
playlistCount++;
// Add the new playlist
setState(() {
playlistNames.add(enteredSongName);
});
SonglistBean bean = await SonglistApi().addSonglist(
songlistName: _controller.text,
Authorization: AppData().currentToken);
},
style: TextButton.styleFrom(
backgroundColor: const Color(0xff429482),
@ -499,7 +463,7 @@ class _UserViewState extends State<UserView> {
),
),
child: const Text(
"确认",
"取消",
style: TextStyle(color: Colors.white),
),
),

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

Loading…
Cancel
Save