陈嘉乐
2020-07-30 a56bd0171334495ba8c6bb9eebaac2c1479c0315
HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs
@@ -60,106 +60,18 @@
            for (int i = 0; i < MusicInfo.MusicInfoList.Count; i++)
            {
                var songs = MusicInfo.MusicInfoList[i];
                if (songs == null)
                {
                    continue;
                }
                songs.URL = "http://" + new Shared.Net.NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + songs.ID;
                if (string.IsNullOrEmpty(songs.Title))
                {
                    //防止歌曲名字为空抛异常
                    songs.Title = " ";
                }
                if (string.IsNullOrEmpty(songs.Artist))
                {
                    //防止歌手名字为空抛异常
                    songs.Artist = " ";
                }
                FrameLayout musicViewFl = new FrameLayout
                {
                    Width = Application.GetRealWidth(375),
                    Height = Application.GetRealHeight(44),
                };
                middViewLayout.AddChidren(musicViewFl);
                //列表当前播放音乐图标
                Button playIconBtn = new Button
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(10),
                    Width = Application.GetMinRealAverage(24),
                    Height = Application.GetMinRealAverage(24),
                    UnSelectedImagePath = "MusicIcon/playStatus.png",
                    Visible = false,
                    Name = "playStatus",
                    Tag = songs.URL,
                };
                musicViewFl.AddChidren(playIconBtn);
                //歌曲控件
                Button songBtn = new Button
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(11),
                    Width = Application.GetRealWidth(100),
                    Height = Application.GetRealHeight(22),
                    TextColor = Color.MusicTxet14Color,
                    TextSize = TextSize.Text16,
                    TextAlignment = TextAlignment.CenterLeft,
                    Name = "song",
                    Tag = songs.URL,
                    Text = songs.Title.Trim()
                };
                musicViewFl.AddChidren(songBtn);
                var wText = songBtn.GetTextWidth();//获取文本宽度
                ///(歌曲+歌手)宽度最大值时280
                if (wText > 280)
                {
                    songBtn.Width = Application.GetRealWidth(280);
                }
                else
                {
                    songBtn.Width = wText + 5;
                }
                //歌手控件
                Button singerBtn = new Button
                {
                    X = songBtn.Right,
                    Y = Application.GetRealHeight(11),
                    Width = Application.GetRealWidth(280 - songBtn.Width),
                    Height = Application.GetRealHeight(22),
                    TextColor = Color.MusicNoTxetColor,
                    TextSize = TextSize.Text12,
                    TextAlignment = TextAlignment.CenterLeft,
                    //Text =("-" +songs.Artist).Trim(),
                    Name = "singer",
                    Tag = songs.URL,
                    Text = "-" + songs.Artist.Trim()
                };
                musicViewFl.AddChidren(singerBtn);
                if (wText > 280)
                {
                    ///歌名长度小于250才可以显示歌手出来
                    singerBtn.Width = Application.GetRealWidth(0);
                }
                View.SongView songView = new View.SongView();
                songView.SongFrameLayout(middViewLayout,songs);
                //添加喜爱音乐控件
                Button loveIcon = new Button
                songView.loveIcon.MouseUpEventHandler += (sender, e) =>
                {
                    X = Application.GetRealWidth(291),
                    Y = Application.GetRealHeight(8),
                    Width = Application.GetMinRealAverage(28),
                    Height = Application.GetMinRealAverage(28),
                    UnSelectedImagePath = "MusicIcon/love.png",
                    SelectedImagePath = "MusicIcon/loveSelected.png",
                };
                musicViewFl.AddChidren(loveIcon);
                loveIcon.MouseUpEventHandler += (sender, e) =>
                {
                    loveIcon.IsSelected = !loveIcon.IsSelected;
                    if (loveIcon.IsSelected)
                    songView.loveIcon.IsSelected = !songView.loveIcon.IsSelected;
                    if (songView.loveIcon.IsSelected)
                    {
                        ///查找音乐是否存在在列表
                        var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL);
@@ -182,50 +94,21 @@
                    }
                    A31MusicModel.Save();
                };
                var music = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL);
                if (music != null)
                {
                    loveIcon.IsSelected = true;
                }
                else
                {
                    loveIcon.IsSelected = false;
                }
                //添加到我的列表
                Button addIcon = new Button
                {
                    X = Application.GetRealWidth(335),
                    Y = Application.GetRealHeight(8),
                    Width = Application.GetMinRealAverage(28),
                    Height = Application.GetMinRealAverage(28),
                    UnSelectedImagePath = "MusicIcon/addMusic1.png",
                };
                musicViewFl.AddChidren(addIcon);
                addIcon.MouseUpEventHandler = (sender, e) =>
                songView.addIcon.MouseUpEventHandler = (sender, e) =>
                {
                    new View.DialogView { }.FieListView(songs);
                };
                //点击控件
                Button clickBtn = new Button
                {
                    Width = Application.GetRealWidth(280),
                    Height = Application.GetRealHeight(44),
                    Tag = songs,//标记播放哪一首歌曲
                };
                musicViewFl.AddChidren(clickBtn);
                ///点击播放事件
                clickBtn.MouseUpEventHandler += (sender, e) =>
                songView.clickBtn.MouseUpEventHandler += (sender, e) =>
                {
                    System.Threading.Tasks.Task.Run(() =>
                    {
                        System.Threading.Thread.Sleep(50);
                        Application.RunOnMainThread(() =>
                        {
                            //移除界面
                            A31MusicModel.Current.A31PlayStatus.Title = songBtn.Text;
                            A31MusicModel.Current.A31PlayStatus.Title = songView.songBtn.Text;
                            MainPage.BasePageView.RemoveViewByTag("Music");
                            System.Threading.Tasks.Task.Run(() =>
                            {
@@ -233,7 +116,6 @@
                            });
                        });
                    });
                };
            }
@@ -244,6 +126,7 @@
        System.Threading.Thread updateSelectedMusicThread;
        public void UpdateSelectedMusic()
        {
            //HDL_ON.UI.UI2.FuntionControlView.Music.UpdateThread.updateThread(this, middViewLayout);
            updateSelectedMusicThread = new System.Threading.Thread(() =>
            {
                while (this.Parent != null)
@@ -275,8 +158,6 @@
                                    artistNameBtn.X = songNameBtn.Right;
                                    artistNameBtn.TextColor = Color.MusicNoTxetColor;
                                }
                            }
                        }
                        catch { }