using System;
using System.Collections.Generic;
using Shared.SimpleControl.Pad;
using Shared.SimpleControl;
using System.Text;
using Shared;
namespace Shared.SimpleControl.Pad.Music
{
///
/// 音乐播放列表界面
///
class ListPage : Shared.FrameLayout
{
public void Musiclist (MusicModel musicModel, List playListmusic, string Listname, int sourceID)
{
var topFrameLayout = new FrameLayout () {
Height = Application.GetRealHeight (140),
};
AddChidren (topFrameLayout);
var titleBtn = new Button {
BackgroundColor = 0xFF121212,
Text = Listname,
TextSize = 15,
};
topFrameLayout.AddChidren (titleBtn);
var verticalScrolViewLayout = new VerticalScrolViewLayout {
Y = Application.GetRealHeight (140),
BackgroundColor = 0xff2F2F2F,
};
AddChidren (verticalScrolViewLayout);
for (int i = 0; i < playListmusic.Count; i++) {
var rowsong = new RowLayout {
Height = Application.GetRealHeight (100),
};
verticalScrolViewLayout.AddChidren (rowsong);
var titleMusic = new Button {
Width = Application.GetRealWidth (80),
Height = Application.GetRealHeight (70),
X = Application.GetRealWidth (10),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "MusicIcon/PlayMusic.png",
};
rowsong.AddChidren (titleMusic);
var song = new Button {
Text = playListmusic [i].name,
TextAlignment = TextAlignment.CenterLeft,
X = Application.GetRealWidth (120),
Tag = playListmusic [i].number,
};
rowsong.AddChidren (song);
song.MouseUpEventHandler += (sender, e) => {
rowsong.BackgroundColor = 0xffFE5E00;
System.Threading.Tasks.Task.Run (() => {
System.Threading.Thread.Sleep (200);
Application.RunOnMainThread (() => {
RemoveFromParent ();
Control.ControlBytesSend (Command.ControlMusicModel2, musicModel.SubnetID, musicModel.DeviceID, MusicModel.MusiceBytes ("*Z01" + sourceID + "SONG" + song.Tag + "2"), SendCount.Zero);
});
});
};
var del = new Button {
Text = "删除",
BackgroundColor = 0xFFFF0000,
Tag = playListmusic [i].number,
};
rowsong.AddRightView (del);
del.MouseUpEventHandler += (sender, e) => {
if (sourceID == 1) {
for (int j = 0; j < musicModel.SDCardSongList.Count; j++) {
if (musicModel.SDCardSongList [j].number == del.Tag.ToString ()) {
musicModel.SDCardSongList.RemoveAt (j);
break;
}
}
} else if (sourceID == 2) {
for (int j = 0; j < musicModel.NasSongList.Count; j++) {
if (musicModel.NasSongList [j].number == del.Tag.ToString ()) {
musicModel.NasSongList.RemoveAt (j);
break;
}
}
}
rowsong.RemoveFromParent ();
};
}
}
}
}