using System; using System.Collections.Generic; using System.Text; using Shared; using Shared.SimpleControl.R; using SmartHome; namespace Shared.SimpleControl.Phone.Music { class A31MyList : FrameLayout { VerticalScrolViewLayout middle; public void Show (MusicInfo musicInfo = null) { this.AddChidren (new Button { Height = Application.GetRealHeight (36), BackgroundColor = SkinStyle.Current.MusicTopFrameLayout, }); var topFrameLayout = new FrameLayout { Height = Application.GetRealHeight (90), Y = Application.GetRealHeight (36), BackgroundColor = SkinStyle.Current.MusicTopFrameLayout, }; this.AddChidren (topFrameLayout); var btnTitle = new Button { TextID = MyInternationalizationString.MusicMylist, //TextSize = 20, TextColor=SkinStyle.Current.MusicTextColor, }; topFrameLayout.AddChidren (btnTitle); var hdl = new Button { Width = Application.GetRealWidth (154), Height = Application.GetRealHeight (90), X = Application.GetRealWidth (486), Gravity = Gravity.CenterVertical, UnSelectedImagePath = MainPage.LogoString, }; topFrameLayout.AddChidren (hdl); var back = new Button { Width = Application.GetRealWidth (82), Height = Application.GetRealHeight (89), X = Application.GetRealWidth (10), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "MusicIcon/HomepageBack.png", }; topFrameLayout.AddChidren (back); back.MouseDownEventHandler += (sender, e) => { this.RemoveFromParent (); }; var addfram = new FrameLayout { Height = Application.GetRealHeight (100), Y = topFrameLayout.Bottom, //BackgroundColor = 0xff2f2f2f, BackgroundColor=SkinStyle.Current.MusicMiddleBackgroundColor, }; this.AddChidren (addfram); var editorListName = new EditText { Width = Application.GetMinReal (450), Height = Application.GetRealHeight (60), TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth (50), BackgroundColor =SkinStyle.Current.MusicEditTextBackgroundColor,//0xFF4D4D4D, PlaceholderText = Language.StringByID (MyInternationalizationString.newlist), PlaceholderTextColor =SkinStyle.Current.MusicEditTextPlaceholderTextColor,// 0xcccccccc, Gravity = Gravity.CenterVertical, TextColor=SkinStyle.Current.MusicTextColor, BorderWidth=1, BorderColor=SkinStyle.Current.MusicEditBorderColor, Radius = 1, }; addfram.AddChidren (editorListName); var mylistadd = new Button { Width = Application.GetRealWidth (72), Height = Application.GetRealHeight (58), UnSelectedImagePath = "MusicIcon/add.png", X = Application.GetRealWidth (550), Gravity = Gravity.CenterVertical, }; addfram.AddChidren (mylistadd); var red = new Button { Y = addfram.Bottom, Height = Application.GetRealHeight (4), BackgroundColor =SkinStyle.Current.MusicLineColor,// 0xff181818, }; this.AddChidren (red); middle = new VerticalScrolViewLayout (); middle.Y = red.Bottom; middle.Height = Application.GetRealHeight (Application.DesignHeight - 126 - 100 - 4); middle.BackgroundColor = SkinStyle.Current.MusicVerticalScrolViewLayout; this.AddChidren (middle); mylistadd.MouseUpEventHandler += (sender, e) => { if (editorListName.Text == "") { //列表名为空 new Alert (Language.StringByID (MyInternationalizationString.Tip), Language.StringByID (MyInternationalizationString.listempty), Language.StringByID (MyInternationalizationString.Close)).Show (); return; } foreach (ListInfo listInfo in A31MusicModel.Current.ListInfos) { if (listInfo.ListName == editorListName.Text) { //列表名称相同 new Alert (Language.StringByID (MyInternationalizationString.Tip), Language.StringByID (MyInternationalizationString.listsame), Language.StringByID (MyInternationalizationString.Close)).Show (); return; } } A31MusicModel.Current.ListInfos.Add (new ListInfo { ListName = editorListName.Text }); A31MusicModel.Save (); showList (musicInfo); }; showList (musicInfo); } void showList (MusicInfo musicInfo) { middle.RemoveAll (); foreach (var listInfo in A31MusicModel.Current.ListInfos) { RowLayout addlistrow = new RowLayout { Height = Application.GetRealHeight (100), LineColor = SkinStyle.Current.MusicRowLayoutLineColor, }; middle.AddChidren (addlistrow); var radius = new Button { Width = Application.GetRealWidth (36), Height = Application.GetRealHeight (36), TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth (20), UnSelectedImagePath = "MusicIcon/radius.png", Gravity = Gravity.CenterVertical, }; addlistrow.AddChidren (radius); var listback = new Button { Width = Application.GetRealWidth (87), Height = Application.GetRealHeight (100), UnSelectedImagePath = "MusicIcon/Next.png", SelectedImagePath = "MusicIcon/NextSelecte.png", X = Application.GetRealWidth (550), Gravity = Gravity.CenterVertical, }; addlistrow.AddChidren (listback); var listnamet = new Button { Height = Application.GetRealHeight (100), TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth (120), Text = listInfo.ListName, TextColor=SkinStyle.Current.MusicTextColor, }; addlistrow.AddChidren (listnamet); EventHandler lists = (sender1, e1) => { if (musicInfo == null) { var tempMusicInfo = A31MusicModel.Current.ListInfos.Find ((obj) => { return obj.ListName == listnamet.Text; }); if (tempMusicInfo == null) { return; } A31AddListMuisc a31AddListMuisc = new A31AddListMuisc (); MainPage.MainFrameLayout.AddChidren (a31AddListMuisc); a31AddListMuisc.Show (listnamet.Text, tempMusicInfo.MusicInfoList); } else { var tempMusicInfo = A31MusicModel.Current.ListInfos.Find ((obj) => { return obj.ListName == listnamet.Text; }); if (tempMusicInfo == null) { return; } //null == tempMusicInfo.MusicInfoList.Find ((music) => { return music.Title == musicInfo.Title; }) var s = tempMusicInfo.MusicInfoList.Find ((music) => { return music.Title == musicInfo.Title; }); if (null == s) { tempMusicInfo.MusicInfoList.Add (musicInfo); A31MusicModel.Save (); } RemoveFromParent (); MainPage.AddTip (Language.StringByID (MyInternationalizationString.addsuccess), 1000); } }; radius.MouseUpEventHandler += lists; listback.MouseUpEventHandler += lists; listnamet.MouseUpEventHandler += lists; var del = new Button { TextID = MyInternationalizationString.Musicdel, BackgroundColor = 0xFFFF0000, Tag = listInfo.ListName, }; del.MouseUpEventHandler += (sender1, e1) => { for (int j = 0; j < A31MusicModel.Current.ListInfos.Count; j++) { if (A31MusicModel.Current.ListInfos [j].ListName == del.Tag.ToString ()) { A31MusicModel.Current.ListInfos.RemoveAt (j); break; } } addlistrow.RemoveFromParent (); A31MusicModel.Save (); }; addlistrow.AddRightView (del); } } } }