HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs
@@ -340,7 +340,7 @@ { re = new RemoteControlEntity(); } re.deviceId = this.device.deviceId; //re.deviceId = this.device.deviceId; return re; } HDL_ON/UI/UI2/FuntionControlView/Aks/CollectPage.cs
@@ -76,7 +76,7 @@ CornerFramLayout imageFLayout = new CornerFramLayout(343, 20 * 168, 0); vv.AddChidren(imageFLayout); imageFLayout.X = Application.GetRealWidth(16); imageFLayout.LoadImagePage(new List<Entity.KeypadEntity>()); imageFLayout.LoadImagePage(new List<Entity.MovieLibrary>()); imageFLayout.selectAction += (index) => { CommonMethod.Current.MainThread(() => HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/CornerFramLayout.cs
@@ -25,10 +25,6 @@ private int mListCount; public Action<KeypadEntity> selectAction = null; /// <summary> /// 当前选择的索引(内部使用) /// </summary> private int CurrnetSelectIndex = -1; /// <summary> @@ -76,8 +72,13 @@ /// </summary> /// <param name="mList">列表</param> /// <param name="mRowNumber">一行多少个元素</param> public void LoadButtonPage(List<KeypadEntity> mList, int mRowNumber) /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param> public void LoadButtonPage(List<KeypadEntity> mList, int mRowNumber, int defaultIndex = -1) { if (mList == null || mList.Count == 0) { return; } if (mRowNumber == 0) { return; @@ -116,15 +117,18 @@ } buttonFram.SetClickListener((fl, btnIcon, btnName) => { if (buttonFram.Tag != null) if (buttonFram.Tag != null&& buttonFram.Tag is KeypadEntity) { selectAction?.Invoke((KeypadEntity)buttonFram.Tag); } }); //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) //if (defaultIndex != -1 && defaultIndex == i) //{ // selectAction?.Invoke((int)buttonFram.Tag); // if (buttonFram.Tag != null && buttonFram.Tag is KeypadEntity) // { // selectAction?.Invoke((KeypadEntity)buttonFram.Tag); // } //} @@ -136,9 +140,13 @@ /// </summary> /// <param name="mList">列表</param> /// <param name="list">列表中索引,表示某一条宽度加宽</param> public void LoadButtonPage(List<KeypadEntity> mList, List<int> list) /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param> public void LoadButtonPage(List<KeypadEntity> mList, List<int> list,int defaultIndex=-1) { if (mList == null || mList.Count == 0) { return; } int currnetheightValue = 0; int currnetWidthValue = 0; //获取相对一个纬度值 @@ -190,15 +198,18 @@ buttonFram.SetClickListener((fl, btnIcon, btnName) => { if (buttonFram.Tag != null) if (buttonFram.Tag != null&& buttonFram.Tag is KeypadEntity) { selectAction?.Invoke((KeypadEntity)buttonFram.Tag); } }); //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) //if (defaultIndex != -1 && defaultIndex == i) //{ // selectAction?.Invoke((int)buttonFram.Tag); // if (buttonFram.Tag != null && buttonFram.Tag is KeypadEntity) // { // selectAction?.Invoke((KeypadEntity)buttonFram.Tag); // } //} } } @@ -206,9 +217,14 @@ /// <summary> ///动态加载数字按键界面 /// </summary> /// <param name="mList">列表</param> /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param> public void LoadNumberButtonPage(List<KeypadEntity> mList) { if (mList == null || mList.Count == 0) { return; } int currnetheightValue = 0; int currnetWidthValue = 0; int heightMaxValue = 84; @@ -216,9 +232,9 @@ //获取相对一个纬度值 int heightDimensionValue = this.Height - Application.GetRealHeight(this.topMargin) - Application.GetRealHeight(this.bottomMargin) - Application.GetRealHeight(heightMaxValue / 2); int widthDimensionValue = this.Width - Application.GetRealWidth(this.leftMargin) - Application.GetRealWidth(this.rightMargin) - Application.GetRealHeight(widthMaxValue / 2); for (int i = 1; i <= mList.Count; i++) for (int i = 0; i <mList.Count; i++) { var keypad = mList[i - 1]; var keypad = mList[i]; Button button = new Button { Y = Application.GetRealHeight(this.topMargin) + Application.GetRealHeight(currnetheightValue), @@ -256,7 +272,7 @@ button.IsSelected = false; }; //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) //if (defaultIndex != -1 && defaultIndex == i) //{ // selectAction?.Invoke((int)buttonFram.Tag); //} @@ -265,9 +281,16 @@ /// <summary> /// 动态加载图片界面 /// 影片布局 /// </summary> public void LoadImagePage(List<KeypadEntity> mList) /// <param name="mList">列表</param> /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param> public void LoadImagePage(List<MovieLibrary> mList) { if (mList == null || mList.Count == 0) { return; } int currnetheightValue = 0; int currnetWidthValue = 0; int heightMaxValue = ImageFramlayout.heightFrameLayout; @@ -275,15 +298,17 @@ //获取相对一个纬度值 int heightDimensionValue = this.Height - Application.GetRealHeight(this.topMargin) - Application.GetRealHeight(this.bottomMargin) - Application.GetRealHeight(heightMaxValue / 2); int widthDimensionValue = this.Width - Application.GetRealWidth(this.leftMargin) - Application.GetRealWidth(this.rightMargin) - Application.GetRealHeight(widthMaxValue / 2); for (int i = 1; i <= mList.Count; i++) for (int i = 0; i < mList.Count; i++) { var keypad = mList[i - 1]; var movieLibrary = mList[i]; ImageFramlayout imageFram = new ImageFramlayout(); imageFram.AddView(this); imageFram.Tag = keypad; imageFram.Tag = movieLibrary; imageFram.Y = Application.GetRealHeight(this.topMargin) + Application.GetRealHeight(currnetheightValue); imageFram.X = Application.GetRealWidth(currnetWidthValue); imageFram.btnName.Text = keypad.name; imageFram.btnName.Text = movieLibrary.name; imageFram.btnImage.ImageBytes = movieLibrary.imageBytes; imageFram.btnScore.Text = movieLibrary.rating; currnetWidthValue += (widthMaxValue + 8);//8是隔间值 if (widthDimensionValue < Application.GetRealWidth(currnetWidthValue)) { @@ -293,7 +318,7 @@ imageFram.SetClickListener((fl) => { if (imageFram.Tag != null) if (imageFram.Tag != null&& imageFram.Tag is KeypadEntity) { selectAction?.Invoke((KeypadEntity)imageFram.Tag); } @@ -306,11 +331,16 @@ } /// <summary> /// 动态加载图片界面 /// 影片布局 /// </summary> /// <param name="mRowNumber">一行多少个元素</param> /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param> public void LoadImagePage(List<KeypadEntity> mList, int mRowNumber) { if (mList == null || mList.Count == 0) { return; } if (mRowNumber == 0) { return; @@ -352,16 +382,61 @@ } } /// <summary> /// 设置初始选择(请在初始化完成之前调用) /// <summary> /// 水平滑动布局 /// </summary> /// <param name="index">从列表0开始计算第一个元素,设置超过列表最大(new List().count-1)值视为无效</param> public void SetIndex(int index = -1) /// <param name="mList">列表</param> /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param> public void LoadHorizontalPage(List<FilterCategoryEntity> mList, int defaultIndex = -1) { if (index == -1) { return; } this.CurrnetSelectIndex = index; if (mList == null || mList.Count == 0) { return; } for (int i = 0; i < mList.Count; i++) { var filterCategory = mList[i]; BaseFramLayout horizontalFL = new BaseFramLayout { Y = Application.GetRealHeight(i * 75), Height = Application.GetRealHeight(75), Width = this.Width, }; this.AddChidren(horizontalFL); Button btnTitleType = new Button { X = Application.GetRealWidth(16), Y = Application.GetRealHeight(16), Height = Application.GetRealHeight(22), Width = Application.GetRealWidth(200), Text = filterCategory.name, TextSize = TextSize.Text16, TextColor = MusicColor.TextColor, TextAlignment = TextAlignment.CenterLeft, IsBold = true, Tag = filterCategory, }; horizontalFL.AddChidren(btnTitleType); HorizontalFramLayout horizontal = new HorizontalFramLayout(375 - 16, 28); horizontalFL.AddChidren(horizontal); horizontal.Y = btnTitleType.Bottom + Application.GetRealHeight(8); horizontal.X = Application.GetRealWidth(16); horizontal.SelectTypeEvent += (filters) => { KeypadEntity keypad = new KeypadEntity(); keypad.category = filters.category; keypad.filterValue = filters.filterValue; keypad.filterName = filters.filterName; selectAction?.Invoke(keypad); }; horizontal.InitControl(filterCategory.filters, defaultIndex); } } /// <summary> /// 最后一行 /// </summary> HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/HorizontalFramLayout.cs
@@ -2,6 +2,7 @@ using Shared; using HDL_ON.UI.Music; using System.Collections.Generic; using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; namespace HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView { @@ -21,44 +22,42 @@ this.Width = Application.GetRealWidth(width); } private List<string> mList = new List<string>(); /// <summary> /// 选择事件 /// </summary> public Action<int> SelectTypeEvent = null; /// <summary> /// 当前选择的索引(内部使用) /// </summary> private int CurrnetSelectIndex = -1; public Action<Filters> SelectTypeEvent = null; /// <summary> /// 初始化控件 /// </summary> public void InitControl() /// <param name="mList">显示数据列表</param> /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],大于范围,该值视为无效</param> public void InitControl(List<Filters> mList, int defaultIndex = -1) { if (this.mList == null || this.mList.Count == 0) if (mList == null || mList.Count == 0) { return; } bool isBool = false; Button btnSelected = new Button(); for (int i = 0; i < this.mList.Count; i++) for (int i = 0; i < mList.Count; i++) { var filters = mList[i]; Button button = new Button { Height = Application.GetRealHeight(28), Width = Application.GetRealWidth(20), SelectedBackgroundColor = MusicColor.ViewColor, BackgroundColor = 0x00000000, Text = mList[i], Text = mList[i].filterName, TextSize = TextSize.Text14, TextColor = MusicColor.TextColor, SelectedTextColor = MusicColor.MusicTxet14SelectedColor, TextAlignment = TextAlignment.Center, Padding = new Padding(4, 4, 4, 4), Radius = (uint)Application.GetRealHeight(4), Tag = i, Tag = filters, }; //重新计算组件宽度 @@ -77,67 +76,38 @@ btnSelected.IsSelected = false; button.IsSelected = true; btnSelected = button; if (button.Tag == null) if (button.Tag == null || !(button.Tag is Filters)) { return; } SelectTypeEvent?.Invoke((int)button.Tag); SelectTypeEvent?.Invoke((Filters)button.Tag); }; if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) if (defaultIndex != -1 && defaultIndex == i) { btnSelected.IsSelected = false; button.IsSelected = true; btnSelected = button; if (button.Tag == null) { return; } SelectTypeEvent?.Invoke((int)button.Tag); isBool = true; } } } /// <summary> /// 设置初始选择(请在初始化完成之前调用) /// </summary> /// <param name="index">从列表0开始计算第一个元素,设置超过列表最大(new List().count-1)值视为无效</param> public void SetIndex(int index = -1) { if (index == -1) { return; } this.CurrnetSelectIndex = index; } /// <summary> /// 设置列表数据(请在初始化完成之前调用) /// </summary> public void SetList(List<string> list) { if (list == null) if (isBool) { this.mList = new List<string>(); } this.mList = list; if (defaultIndex < mList.Count) { //默认索引回调,初始化时执行 SelectTypeEvent?.Invoke(mList[defaultIndex]); } } /// <summary> /// 测试数据 /// </summary> public List<string> GetTestData { get { return new List<string> { "4245725454", "2", "类型", "中国电影", "全部类型", "类型发送地哦哦哦", "中国电影感觉对酒当歌", "全部类型", }; } } /// <summary> /// 控件摧毁 /// </summary> HDL_ON/UI/UI2/FuntionControlView/Aks/CommonView/ImageFramlayout.cs
@@ -17,13 +17,11 @@ this.BackgroundColor = 0x00000000; } public Button btnImage = new Button public ImageView btnImage = new ImageView { Height = Application.GetRealHeight(140), Width = Application.GetRealWidth(109), Radius = (uint)Application.GetRealHeight(12), //UnSelectedImagePath = "Collection/CollectionGrayIcon.png", BackgroundColor=0xff765876, }; public Button btnScore = new Button HDL_ON/UI/UI2/FuntionControlView/Aks/Entity/FilterCategoryEntity.cs
@@ -9,11 +9,11 @@ public class FilterCategoryEntity { /// <summary> /// 分类标识 /// 一级分类标识 /// </summary> public string category = string.Empty; /// <summary> /// 分类名称(一级) /// 一级分类名称 /// </summary> public string name = string.Empty; @@ -26,28 +26,18 @@ public class Filters { /// <summary> /// 分类过滤值 /// 一级分类标识(自定义) /// </summary> public string category = string.Empty; /// <summary> /// 二级分类过滤值 /// </summary> public string filterValue = string.Empty; /// <summary> /// 分类过名称(二级) /// 二级分类过名称 /// </summary> public string filterName = string.Empty; } /// <summary> /// 分类过滤 /// </summary> public class FilterCategorys { /// <summary> /// 分类标识 /// </summary> public string category = string.Empty; /// <summary> /// 分类过滤值 /// </summary> public string filterValue = string.Empty; } } HDL_ON/UI/UI2/FuntionControlView/Aks/Entity/KeypadEntity.cs
@@ -4,7 +4,7 @@ /// <summary> /// 按键实体 /// </summary> public class KeypadEntity public class KeypadEntity: Filters { /// <summary> /// 按键识别码 HDL_ON/UI/UI2/FuntionControlView/Aks/Entity/MovieLibraryEntity.cs
@@ -48,6 +48,10 @@ /// 评分 /// </summary> public string rating = string.Empty; /// <summary> /// 影片数据 /// </summary> public byte[] imageBytes; } } HDL_ON/UI/UI2/FuntionControlView/Aks/MusicPage.cs
@@ -61,7 +61,7 @@ typeSingleFramLayout.SetClickListener((f) => { YkPage ykPage = new YkPage(); YkPage ykPage = new YkPage(this.remoteControl); MainPage.BasePageView.AddChidren(ykPage); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; ykPage.Show(); HDL_ON/UI/UI2/FuntionControlView/Aks/SendMethod.cs
@@ -34,7 +34,7 @@ } } public const int pageSize=20; #region ------时序器------- /// <summary> @@ -95,7 +95,7 @@ /// <param name="deviceId">设备id</param> /// <param name="tipType">是否需要提示,默认提示</param> /// <returns>返回结果不会为null</returns> public List<RemoteControlEntity> GetRemoteControlLits(string deviceId,TipType tipType = TipType.flicker) public List<RemoteControlEntity> GetRemoteControlLits(string deviceId, TipType tipType = TipType.flicker) { Dictionary<string, object> d = new Dictionary<string, object>(); d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); @@ -105,12 +105,20 @@ { return new List<RemoteControlEntity>(); } var RemoteControlEntityList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RemoteControlEntity>>(responsePackNew.Data.ToString()); if (RemoteControlEntityList == null) { var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RemoteControlEntity>>(responsePackNew.Data.ToString()); if (list == null) { return new List<RemoteControlEntity>(); } return RemoteControlEntityList; if (list.Count > 0) { for (int i = 0; i < list.Count; i++) { var remoteControl = list[i]; remoteControl.deviceId = deviceId; } } return list; } /// <summary> @@ -161,7 +169,18 @@ if (list == null) { return new List<FilterCategoryEntity>(); } } if (list.Count > 0) { for (int i = 0; i < list.Count; i++) { var filterCategory = list[i]; foreach (var o in filterCategory.filters) { o.category = filterCategory.category; } } } return list; } @@ -174,27 +193,32 @@ /// <param name="pageNo">当前页</param> /// <param name="pageSize">页数</param> /// <param name="tipType">是否需要提示,默认提示</param> public List<MovieLibrary> GetMovieLibraryPage(string deviceId, string rcId, List<FilterCategorys> filterCategorys, int pageNo, int pageSize, TipType tipType = TipType.flicker) /// <returns>返回结果不会为null</returns> public List<MovieLibrary> GetMovieLibraryPage(string deviceId, string rcId, List<Filters> filterCategorys, int pageNo, int pageSize, TipType tipType = TipType.flicker) { JObject jObject = new JObject(); JArray jArray = new JArray(); jObject.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); jObject.Add("deviceId", deviceId);//设备id jObject.Add("rcId", rcId);//遥控器id foreach (var filter in filterCategorys) if (filterCategorys != null && filterCategorys.Count != 0) { JObject obj = new JObject(); obj.Add("category", filter.category); obj.Add("filterValue", filter.filterValue); jArray.Add(obj); //过滤分类数据 JArray jArray = new JArray(); foreach (var filter in filterCategorys) { JObject obj = new JObject(); obj.Add("category", filter.category); obj.Add("filterValue", filter.filterValue); jArray.Add(obj); } jObject.Add("filterCategorys", jArray);//按键标识 } jObject.Add("filterCategorys", jArray);//按键标识 jObject.Add("pageNo", pageNo);//当前页 jObject.Add("pageSize", pageSize);//页数 //d.Add("zoneType", deviceId);//区域 var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject.ToString(), NewAPI.Api_Post_Aks_MovieLibraryPage, "影片分页获取"); var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(jObject, NewAPI.Api_Post_Aks_MovieLibraryPage, "影片分页获取"); if (!this.DataChecking(responsePackNew, tipType)) { return new List<MovieLibrary>(); HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
@@ -6,48 +6,75 @@ using HDL_ON.Entity; using HDL_ON.DriverLayer; using HDL_ON.UI.Music; using HDL_ON.UI.UI2.Intelligence.Automation; using System.Linq; using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; using HDL_ON.DAL.Server; using System.Net; using System.IO; using RestSharp; namespace HDL_ON.UI.UI2.FuntionControlView.Aks { /// <summary> /// 影库界面 /// </summary> public class YkPage:FrameLayout public class YkPage : FrameLayout { /// <summary> /// /// </summary> /// <param name="remoteControlEntity">遥控器对象</param> public YkPage(RemoteControlEntity remoteControlEntity) { this.remoteControl = remoteControlEntity; } /// <summary> /// 影片分类列表 /// </summary> List<FilterCategoryEntity> mFilterCategoryList; /// <summary> /// 影片列表 /// </summary> List<MovieLibrary> mMovieLibraryList; /// <summary> /// 当前的遥控器对象 /// </summary> RemoteControlEntity remoteControl; /// <summary> /// 头部布局 /// </summary> private TopView topView; TopView topView; FrameLayout fLayout; /// <summary> /// 删除设备后需要更新界面的回调 /// 影片上下滑动父容器 /// </summary> public Action action; VerticalRefreshLayout vv; /// <summary> /// 水平滑动父容器 /// </summary> CornerFramLayout horizontalFl; CornerFramLayout imageFLayout; public YkPage() { } public void Show() { //初始化UI this.InitTop(); this.InitMiddle(); this.InitUI(); //初始化事件监听器 this.EventListener(); //读取数据 this.ReadData(); } /// <summary> /// 初始化头部界面 /// 初始化界面 /// </summary> private void InitTop() private void InitUI() { this.BackgroundColor = MusicColor.ViewColor; this.topView = new TopView(); @@ -57,74 +84,36 @@ this.topView.setBtn.UnSelectedImagePath = "Collection/CollectionGrayIcon.png"; this.topView.topNameBtn.TextID = StringId.yingku; this.AddChidren(topView.TopFLayoutView()); } /// <summary> /// 初始化中部界面 /// </summary> private void InitMiddle() { var fLayout = new FrameLayout { fLayout = new FrameLayout { Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), BackgroundColor = MusicColor.WhiteColor, }; this.AddChidren(fLayout); BaseFramLayout typeFLayout = new BaseFramLayout(); fLayout.AddChidren(typeFLayout); int span= 20;//间隔 int x= 16;//X轴偏移量 int width =375-x; int height = 28; HorizontalFramLayout horizontalFram = new HorizontalFramLayout(width, height); typeFLayout.AddChidren(horizontalFram); horizontalFram.Y = Application.GetRealHeight(span); horizontalFram.X = Application.GetRealHeight(x); horizontalFram.SetIndex(2); horizontalFram.SetList(horizontalFram.GetTestData); horizontalFram.InitControl(); horizontalFram.SelectTypeEvent += (index) => { Console.WriteLine("1"); }; HorizontalFramLayout horizontalFram1 = new HorizontalFramLayout(width, height); typeFLayout.AddChidren(horizontalFram1); horizontalFram1.Y = horizontalFram.Bottom + Application.GetRealHeight(span); horizontalFram1.X = Application.GetRealHeight(x); horizontalFram1.SetIndex(2); horizontalFram1.SetList(horizontalFram1.GetTestData); horizontalFram1.InitControl(); horizontalFram1.SelectTypeEvent += (index) => { Console.WriteLine("2"); }; HorizontalFramLayout horizontalFram2 = new HorizontalFramLayout(width, height); typeFLayout.AddChidren(horizontalFram2); horizontalFram2.Y = horizontalFram1.Bottom + Application.GetRealHeight(span); horizontalFram2.X = Application.GetRealHeight(x); horizontalFram2.SetIndex(2); horizontalFram2.SetList(horizontalFram2.GetTestData); horizontalFram2.InitControl(); horizontalFram2.SelectTypeEvent += (index) => { Console.WriteLine("3"); }; HorizontalFramLayout horizontalFram3 = new HorizontalFramLayout(width, height); typeFLayout.AddChidren(horizontalFram3); horizontalFram3.Y = horizontalFram2.Bottom + Application.GetRealHeight(span); horizontalFram3.X = Application.GetRealHeight(x); horizontalFram3.SetIndex(2); horizontalFram3.SetList(horizontalFram3.GetTestData); horizontalFram3.InitControl(); horizontalFram3.SelectTypeEvent += (index) => { Console.WriteLine("4"); }; typeFLayout.AdjustRealHeight(); var vv = new VerticalRefreshLayout() this.LoadFTypeLayout(); } /// <summary> /// 加载类型布局 /// </summary> private void LoadFTypeLayout() { if (fLayout == null) { Y = typeFLayout.Bottom, Height = fLayout.Height- typeFLayout.Bottom, return; } fLayout.RemoveAll(); int count = this.mFilterCategoryList == null ? 0 : this.mFilterCategoryList.Count; horizontalFl = new CornerFramLayout(375, count * 75); fLayout.AddChidren(horizontalFl); horizontalFl.LoadHorizontalPage(this.mFilterCategoryList); horizontalFl.AdjustRealHeight(20); vv = new VerticalRefreshLayout() { Y = horizontalFl.Bottom, Height = fLayout.Height - horizontalFl.Bottom, }; fLayout.AddChidren(vv); vv.BeginHeaderRefreshingAction += () => @@ -133,25 +122,25 @@ vv.EndHeaderRefreshing(); }; CornerFramLayout imageFLayout = new CornerFramLayout(343, 20 * 168, 0); vv.AddChidren(imageFLayout); imageFLayout.X = Application.GetRealWidth(16); imageFLayout.LoadImagePage(new List<Entity.KeypadEntity>()); imageFLayout.selectAction += (index) => { CommonMethod.Current.MainThread(() => { DetailPage detailPage = new DetailPage(); MainPage.BasePageView.AddChidren(detailPage); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; detailPage.Show(); }); }; imageFLayout.AdjustRealHeight(16); LoadImageFLayout(); } /// <summary> /// 加载影片列表布局 /// </summary> private void LoadImageFLayout() { if (vv == null) { return; } vv.RemoveAll(); imageFLayout = new CornerFramLayout(343, 20 * 168, 0); vv.AddChidren(imageFLayout); imageFLayout.X = Application.GetRealWidth(16); imageFLayout.LoadImagePage(this.mMovieLibraryList); imageFLayout.AdjustRealHeight(16); } /// 注册事件 /// </summary> private void EventListener() @@ -173,7 +162,91 @@ collectPage.Show(); }); }; //二级过滤事件 horizontalFl.selectAction += (filters) => { }; //影片事件 imageFLayout.selectAction += (index) => { CommonMethod.Current.MainThread(() => { DetailPage detailPage = new DetailPage(); MainPage.BasePageView.AddChidren(detailPage); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; detailPage.Show(); }); }; } /// <summary> /// 初始数据 /// </summary> private void ReadData() { CommonMethod.Current.Loading.Start(); CommonMethod.Current.SunThread(() => { try { this.mFilterCategoryList = SendMethod.Current.GetFilterCategoryLits(this.remoteControl.deviceId, this.remoteControl.rcId); this.mMovieLibraryList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), 1, SendMethod.pageSize); for (int i = 0; i < this.mMovieLibraryList.Count; i++) { var mMovieLibrary = this.mMovieLibraryList[i]; var bytes = RequestHttpsBase(mMovieLibrary.posterUrl); mMovieLibrary.imageBytes = bytes; } } catch { } finally { CommonMethod.Current.MainThread(() => { CommonMethod.Current.Loading.Hide(); LoadFTypeLayout(); }); } }); } /// <summary> /// 网络请求 /// </summary> /// <param name="mTimeout"></param> /// <returns></returns> private byte[] RequestHttpsBase(string imageUrl, int mTimeout = 5) { try { RestClient client = new RestClient(imageUrl); RestRequest request = new RestRequest(Method.GET); request.Timeout = mTimeout * 1000; //request.AddHeader("content-type", "application/json"); IRestResponse response = client.Execute(request); return response.RawBytes; } catch (Exception ex) { HDL_ON.Utlis.WriteLine(ex.Message); return null; } } } }