From b562a582ac3a288193e6e4f57c5eff8a344305a4 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 27 九月 2024 13:52:17 +0800
Subject: [PATCH] Update AndroidManifest.xml
---
HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs | 428 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 304 insertions(+), 124 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
index cdbfed9..3e82841 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/YkPage.cs
@@ -1,180 +1,360 @@
锘縰sing Shared;
-using System;
using System.Collections.Generic;
-using System.Text;
-using HDL_ON.UI.CSS;
-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 System.Linq;
namespace HDL_ON.UI.UI2.FuntionControlView.Aks
{
/// <summary>
/// 褰卞簱鐣岄潰
/// </summary>
- public class YkPage:FrameLayout
+ public class YkPage : FrameLayout
{
-
- /// <summary>
- /// 澶撮儴甯冨眬
- /// </summary>
- private TopView topView;
- /// <summary>
- /// 鍒犻櫎璁惧鍚庨渶瑕佹洿鏂扮晫闈㈢殑鍥炶皟
- /// </summary>
- public Action action;
- public YkPage()
+ private Dictionary<string, Filters> FiltersList = new Dictionary<string, Filters>();
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="remoteControlEntity">閬ユ帶鍣ㄥ璞�</param>
+ public YkPage(RemoteControlEntity remoteControlEntity)
{
+ this.remoteControl = remoteControlEntity;
}
+
+ List<ImageFramlayout> imageFramlayoutList =new List<ImageFramlayout>();
+ /// <summary>
+ /// 褰撳墠鐨勯仴鎺у櫒瀵硅薄
+ /// </summary>
+ RemoteControlEntity remoteControl;
+ /// <summary>
+ /// 褰辩墖涓�绾у垎绫诲垪琛�
+ /// </summary>
+ List<FilterCategoryEntity> mFilterCategoryList;
+ /// <summary>
+ /// 褰辩墖鍒楄〃
+ /// </summary>
+ List<MovieLibrary> mMovieLibraryList=new List<MovieLibrary>();
+ /// <summary>
+ /// 椤堕儴甯冨眬
+ /// </summary>
+ TopView topView;
+
+ FrameLayout fLayout;
+ /// <summary>
+ /// 褰辩墖涓婁笅婊戝姩鐖跺鍣�
+ /// </summary>
+ VerticalRefreshLayout vv;
+ /// <summary>
+ /// 姘村钩婊戝姩鐖跺鍣�
+ /// </summary>
+ CornerFramLayout horizontalFl;
+
+ CornerFramLayout imageFLayout;
+ /// <summary>
+ /// 椤垫暟
+ /// </summary>
+ private int pageNo = 1;
+
+
public void Show()
{
//鍒濆鍖朥I
- this.InitTop();
- this.InitMiddle();
- //鍒濆鍖栦簨浠剁洃鍚櫒
- this.EventListener();
+ this.InitUI();
//璇诲彇鏁版嵁
+ this.ReadData();
}
-
-
/// <summary>
- /// 鍒濆鍖栧ご閮ㄧ晫闈�
+ /// 鍒濆鍖栫晫闈�
/// </summary>
- private void InitTop()
+ private void InitUI()
{
this.BackgroundColor = MusicColor.ViewColor;
this.topView = new TopView();
this.topView.setBtn.Visible = true;
this.topView.setBtn.Width = Application.GetMinRealAverage(32);
this.topView.setBtn.Height = Application.GetMinRealAverage(32);
- this.topView.setBtn.UnSelectedImagePath = "Collection/CollectionGrayIcon.png";
+ this.topView.setBtn.UnSelectedImagePath = "AksIcon/like.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()
- {
- Y = typeFLayout.Bottom,
- Height = fLayout.Height- typeFLayout.Bottom,
- };
- fLayout.AddChidren(vv);
- vv.BeginHeaderRefreshingAction += () =>
- {
- //鍏抽棴鍒锋柊View锛�
- vv.EndHeaderRefreshing();
- };
-
-
- CornerFramLayout imageFLayout = new CornerFramLayout(343, 20 * 168, 0);
- vv.AddChidren(imageFLayout);
- imageFLayout.X = Application.GetRealWidth(16);
- imageFLayout.SetList(imageFLayout.GetTestList(20));
- imageFLayout.LoadImagePage();
- 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);
- }
- /// <summary>
- /// 娉ㄥ唽浜嬩欢
- /// </summary>
- private void EventListener()
- {
+ //this.LoadFTypeLayout();
+ //this.LoadImageFLayout();
//杩斿洖
this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
{
this.RemoveFromParent();
};
- //璁剧疆
+ //鏀惰棌鍥炬爣鐐瑰嚮浜嬩欢
this.topView.clickSetBtn.MouseUpEventHandler += (sender, e) =>
{
CommonMethod.Current.MainThread(() =>
{
- CollectPage collectPage = new CollectPage();
+ CollectPage collectPage = new CollectPage(remoteControl);
MainPage.BasePageView.AddChidren(collectPage);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
collectPage.Show();
});
};
}
+ /// <summary>
+ /// 鍔犺浇涓�绾у垎绫诲竷灞�
+ /// </summary>
+ private void LoadFTypeLayout()
+ {
+
+ 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);
+ //浜岀骇杩囨护浜嬩欢
+ horizontalFl.selectKeyAction += (filters) =>
+ {
+ pageNo = 1;//杩樺師椤垫暟
+ AddMemoryFilters(filters);
+ UpdateData(true);
+ };
+
+ }
+ /// <summary>
+ /// 鍔犺浇褰辩墖鍒楄〃甯冨眬
+ /// </summary>
+ private void LoadImageFLayout()
+ {
+ if (vv == null)
+ {
+ return;
+ }
+ vv.RemoveAll();
+ int count = this.mMovieLibraryList == null ? 0 : this.mMovieLibraryList.Count;
+ imageFLayout = new CornerFramLayout(343, count * 168, 0);
+ vv.AddChidren(imageFLayout);
+ imageFLayout.X = Application.GetRealWidth(16);
+ //imageFLayout.LoadImagePage(this.mMovieLibraryList);
+ imageFLayout.LoadImagePage(imageFramlayoutList);
+ imageFLayout.AdjustRealHeight(16);
+
+
+ //鏇村鐨�
+ var btnMore = new Button
+ {
+ Width = Application.GetRealWidth(375),
+ Height = Application.GetRealHeight(30),
+ TextSize = TextSize.Text14,
+ TextColor = MusicColor.TextColor,
+ TextID = StringId.LoadMore,
+ TextAlignment = TextAlignment.TopCenter,
+ Padding = new Padding(0, 20, 0, 20),
+ };
+ vv.AddChidren(btnMore);
+
+ btnMore.MouseDownEventHandler += (sender,e) => {
+ //涓诲姩鏇存柊鏁版嵁
+ UpdateData(false);
+ };
+
+ //褰辩墖浜嬩欢
+ imageFLayout.selectImageAction += (movieLibrary) =>
+ {
+
+ CommonMethod.Current.MainThread(() =>
+ {
+ DetailPage detailPage = new DetailPage(remoteControl, movieLibrary);
+ MainPage.BasePageView.AddChidren(detailPage);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ detailPage.Show();
+ });
+
+ };
+ //涓嬫媺鍒锋柊
+ vv.BeginHeaderRefreshingAction += () =>
+ {
+ //鍏抽棴鍒锋柊View锛�
+ vv.EndHeaderRefreshing();
+ //涓诲姩鏇存柊鏁版嵁
+ //UpdateData();
+ };
+
+
+
+ }
+
+
+
+
+
+ /// <summary>
+ /// 鍔犺浇鍥剧墖瀹瑰櫒
+ /// </summary>
+ /// <param name="movieLibrary">movieLibrary</param>
+ private void AddImageFramlayout(MovieLibrary movieLibrary)
+ {
+ CommonMethod.Current.MainThread(() =>
+ {
+ if (movieLibrary == null)
+ {
+ return;
+ }
+ ImageFramlayout imageFram = new ImageFramlayout();
+ //imageFram.AddView(this);
+ imageFram.Tag = movieLibrary;
+ imageFram.btnName.Text = movieLibrary.name;
+ imageFram.btnImage.ImageBytes = movieLibrary.imageBytes;
+ imageFram.btnScore.Text = movieLibrary.rating;
+ //娣诲姞缂撳瓨
+ imageFramlayoutList.Add(imageFram);
+ });
+ }
+
+
+ /// <summary>
+ /// 鍒濆鍖栨暟鎹�
+ /// </summary>
+ private void ReadData()
+ {
+ CommonMethod.Current.Loading.Start();
+ CommonMethod.Current.SunThread(() =>
+ {
+ try
+ {
+ this.mFilterCategoryList = SendMethod.Current.GetFilterCategoryLits(this.remoteControl.deviceId, this.remoteControl.rcId);
+ var newList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, new List<Filters>(), pageNo, SendMethod.pageSize);
+ DataTreating(newList);
+ }
+ catch { }
+ finally
+ {
+ CommonMethod.Current.MainThread(() =>
+ {
+ CommonMethod.Current.Loading.Hide();
+ this.LoadFTypeLayout();
+ this.LoadImageFLayout();
+
+ });
+ }
+ });
+
+ }
+
+ /// <summary>
+ /// 涓诲姩鏇存柊鏁版嵁
+ /// </summary>
+ /// <param name="isUpdateData">鏄惁鏄簩绾ц繃婊�,true琛ㄧず鏄簩绾ц繃婊よ繃鏉ョ殑</param>
+ private void UpdateData(bool isUpdateData)
+ {
+
+ CommonMethod.Current.Loading.Start();
+ CommonMethod.Current.SunThread(() =>
+ {
+ try
+ {
+ var newList = SendMethod.Current.GetMovieLibraryPage(this.remoteControl.deviceId, this.remoteControl.rcId, this.FiltersList.Values.ToList(), pageNo, SendMethod.pageSize);
+ DataTreating(newList);
+ }
+ catch { }
+ finally
+ {
+ CommonMethod.Current.MainThread(() =>
+ {
+ CommonMethod.Current.Loading.Hide();
+ if (isUpdateData)
+ {
+ //娓呯┖鎵�鏈夋棫褰辩墖鏁版嵁,閲嶆柊鍔犺浇鏂板奖鐗囨暟鎹�
+ this.LoadImageFLayout();
+ }
+ else
+ {
+ //杩藉姞鏂版暟鎹湪鏃ф暟鎹悗闈�
+ imageFLayout.LoadImagePage(imageFramlayoutList);
+ imageFLayout.AdjustRealHeight(16);
+ }
+
+ });
+ }
+ });
+
+ }
+
+ /// <summary>
+ /// 鏁版嵁澶勭悊閫昏緫
+ /// </summary>
+ /// <param name="newList">鏂板垪琛ㄦ暟鎹�</param>
+ private void DataTreating(List<MovieLibrary> newList)
+ {
+ if (newList == null || newList.Count == 0)
+ {
+ return;
+ }
+ //鏈夋柊鏁版嵁锛屾竻绌烘棫鏁版嵁
+ imageFramlayoutList.Clear();
+
+ for (int i = 0; i < newList.Count; i++)
+ {
+ var mMovieLibrary = newList[i];
+ //鍥剧墖鐨勫瓧鑺傛祦
+ var bytes = SendMethod.Current.GetImage(mMovieLibrary.posterUrl);
+ //鏇存柊鍊�
+ mMovieLibrary.imageBytes = bytes;
+
+ }
+
+ for (int i = 0; i < newList.Count; i++)
+ {
+ //鍘婚噸
+ var mMovieLibrary = this.mMovieLibraryList.Find((o) => o.movieId == newList[i].movieId);
+ if (mMovieLibrary == null)
+ {
+ //鏂板垪琛ㄩ粯璁ゅ姞鍦ㄦ渶鍓嶉潰
+ this.mMovieLibraryList.Insert(0, newList[i]);
+
+ }
+ //娣诲姞鍥剧墖瀹瑰櫒
+ AddImageFramlayout(newList[i]);
+
+ }
+
+ if (newList.Count == SendMethod.pageSize)
+ {
+ //鏇存柊椤垫暟
+ pageNo++;
+ }
+
+ }
+
+
+ /// <summary>
+ /// 娣诲姞杩囨护鏁版嵁
+ /// </summary>
+ /// <param name="filters">杩囨护鏉′欢</param>
+ private void AddMemoryFilters(Filters filters)
+ {
+ if (FiltersList.ContainsKey(filters.category))
+ {
+ FiltersList.Remove(filters.category);
+ }
+ FiltersList.Add(filters.category, filters);
+ }
+
}
}
--
Gitblit v1.8.0