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 (); }; } } } }