From 841e7972869b6e967d06da0d91186cd69f1d4eb5 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 26 九月 2023 14:59:12 +0800 Subject: [PATCH] 2023年09月26日14:59:01 --- HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs | 176 +++++++++++++++++++--------------------------------------- 1 files changed, 59 insertions(+), 117 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs index 40156ef..1642d9c 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs @@ -10,6 +10,7 @@ using HDL_ON.UI.UI2.Intelligence.Automation; using System.Linq; using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; +using System.Reflection; namespace HDL_ON.UI.UI2.FuntionControlView.Aks { @@ -64,8 +65,12 @@ /// 璁板綍褰撳墠璁惧 /// </summary> public IntType currnetIntType= IntType.none; + /// <summary> + /// 璁板綍褰撳墠閫夋嫨鐨勭储寮曞�� + /// </summary> + public int indexValue = -1; - + public VerticalScrolViewLayout vv; #endregion @@ -196,16 +201,19 @@ if (this.remoteControlList.Count > 0) { - if (string.IsNullOrEmpty(this.GetValueString(IntType.Player))) - { - //榛樿鍙栫涓�浣� - this.SwitchUI((IntType)this.remoteControlList[0].type); - } - else + if (this.isExistType(IntType.Player)) { //鏈夋挱鏀剧被鍨嬮仴鎺у櫒浼樺厛鏄剧ず this.SwitchUI(IntType.Player); } + else + { + //榛樿鍙栫涓�浣� + this.indexValue = 0; + var type = (IntType)this.remoteControlList[this.indexValue].type; + this.SwitchUI(type); + } + } }); @@ -213,14 +221,15 @@ }); } /// <summary> - /// 鍒囨崲鐣岄潰(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) + /// 鐣岄潰鏄剧ず(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) /// </summary> private void SwitchUI(IntType type) { - if (this.currnetIntType == type) - { - return; - } + //if (this.currnetIntType == type) + //{ + // //鍘绘帀鍒ゆ柇绫诲瀷,鍥犱负鍙兘瀛樺湪澶氫釜鍚岀被鍨� + // return; + //} if (IntType.none == type) { return; @@ -230,12 +239,12 @@ return; } this.vv.RemoveAll(); - this.currnetIntType = type; + var remoteContro = this.remoteControlList[this.indexValue]; switch (type) { case IntType.Player: { - MusicPage musicPage = new MusicPage(GetRemoteControl((int)IntType.Player),this.sequencerList); + MusicPage musicPage = new MusicPage(remoteContro, this.sequencerList); this.vv.AddChidren(musicPage); musicPage.Show(); musicPage.action += (deviceType) => @@ -246,7 +255,7 @@ break; case IntType.HiFi: { - GfPage gfPage = new GfPage(GetRemoteControl((int)IntType.HiFi), this.sequencerList); + GfPage gfPage = new GfPage(remoteContro, this.sequencerList); this.vv.AddChidren(gfPage); gfPage.Show(); gfPage.action += (deviceType) => @@ -259,7 +268,7 @@ case IntType.TV: { - TvPage tvPage = new TvPage(GetRemoteControl((int)IntType.TV), this.sequencerList); + TvPage tvPage = new TvPage(remoteContro, this.sequencerList); this.vv.AddChidren(tvPage); tvPage.Show(); tvPage.action += (deviceType) => @@ -270,7 +279,7 @@ break; case IntType.STB: { - JdhPage jdhPage = new JdhPage(GetRemoteControl((int)IntType.STB), this.sequencerList); + JdhPage jdhPage = new JdhPage(remoteContro, this.sequencerList); this.vv.AddChidren(jdhPage); jdhPage.Show(); jdhPage.action += (deviceType) => @@ -281,7 +290,7 @@ break; case IntType.Projector: { - TyyPage tyyPage = new TyyPage(GetRemoteControl((int)IntType.Projector), this.sequencerList); + TyyPage tyyPage = new TyyPage(remoteContro, this.sequencerList); this.vv.AddChidren(tyyPage); tyyPage.Show(); tyyPage.action += (deviceType) => @@ -293,7 +302,7 @@ case IntType.Control: { - YkqPage ykqPage = new YkqPage(GetRemoteControl((int)IntType.Control), this.sequencerList); + YkqPage ykqPage = new YkqPage(remoteContro, this.sequencerList); this.vv.AddChidren(ykqPage); ykqPage.Show(); ykqPage.action += (deviceType) => @@ -308,43 +317,29 @@ } /// <summary> - /// 閫変腑绫诲瀷寮规(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) + /// 鐣岄潰鍒囨崲(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) /// </summary> private void SelectedType() { - var deviceTypeList = GetTypeDictionary().Values.ToList(); + var deviceTypeList = GetRemoteControlList(); ///涔嬪墠鐨勭姸鎬佹枃鏈� - string ccurrnetDeviceStr= this.GetValueString(this.currnetIntType); + string ccurrnetDeviceStr = ""; + if (indexValue!=-1&& indexValue< deviceTypeList.Count) { + ccurrnetDeviceStr= deviceTypeList[indexValue].name; + } PublicInterface conditionView = new PublicInterface(); - conditionView.SingleSelectionShow(this, deviceTypeList, "璁惧閫夋嫨", ccurrnetDeviceStr - , (valueStr) => + conditionView.SingleSelectionShow(this, deviceTypeList,"璁惧閫夋嫨", ccurrnetDeviceStr + , (index) => { - //鐣岄潰鏄剧ず閫変腑鍊� - var intType = this.GetKeyIntType(valueStr); - this.SwitchUI(intType); + var remoteControl = deviceTypeList[index]; + this.indexValue = index; + this.currnetIntType = (IntType)remoteControl.type; + this.SwitchUI((IntType)remoteControl.type); }); } - /// <summary> - /// 鏌ユ壘閬ユ帶鍣� - /// </summary> - /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> - /// <returns>涓嶄細涓簄ull</returns> - private RemoteControlEntity GetRemoteControl(int type) - { - if (this.remoteControlList == null || this.remoteControlList.Count == 0) - { - return new RemoteControlEntity(); - } - var re = this.remoteControlList.Find((o) => o.type == type); - if (re == null) - { - re = new RemoteControlEntity(); - } - //re.deviceId = this.device.deviceId; - return re; - } + public enum IntType @@ -380,92 +375,39 @@ } /// <summary> - /// 鍒濆鍖栧瓧鍏� + /// 鑾峰彇閬ユ帶鍣ㄥ垪琛� /// </summary> /// <returns></returns> - private Dictionary<IntType, string> GetTypeDictionary() + private List<RemoteControlEntity> GetRemoteControlList() { if (this.remoteControlList == null || this.remoteControlList.Count == 0) { - return new Dictionary<IntType, string>(); + return new List<RemoteControlEntity>(); } - var dic = new Dictionary<IntType, string>(); - foreach (var o in this.remoteControlList) - { - switch (o.type) - { - case (int)IntType.Player: - { - dic.Add(IntType.Player, Language.StringByID(StringId.bofangqi)); - } - break; - case (int)IntType.HiFi: - { - dic.Add(IntType.HiFi, Language.StringByID(StringId.gongfan)); - } - break; - case (int)IntType.TV: - { - dic.Add(IntType.TV, Language.StringByID(StringId.dianshi)); - } - break; - - case (int)IntType.STB: - { - dic.Add(IntType.STB, Language.StringByID(StringId.jidinghe)); - } - break; - case (int)IntType.Projector: - { - dic.Add(IntType.Projector, Language.StringByID(StringId.touyingyi)); - } - break; - case (int)IntType.Control: - { - dic.Add(IntType.Control, Language.StringByID(StringId.xuniyaokongqi)); - } - break; - } - } - return dic; + return this.remoteControlList; } + /// <summary> - /// 鑾峰彇璁惧绫诲瀷 + /// 鏄惁瀛樺湪绫诲瀷 /// </summary> - /// <param name="value">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> /// <returns></returns> - private IntType GetKeyIntType(string value) + private bool isExistType(IntType type) { - var dic = this.GetTypeDictionary(); - foreach (var d in dic) + + var remoteControls = this.GetRemoteControlList(); + for (int i = 0; i < remoteControls.Count; i++) { - if (d.Value == value) + var re = remoteControls[i]; + if ((IntType)re.type == type) { - return d.Key; + this.indexValue = i; + return true; } - } - return IntType.none; - } - /// <summary> - /// 鑾峰彇璁惧鍚嶇О - /// </summary> - /// <param name="key">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> - /// <returns></returns> - private string GetValueString(IntType key) - { - var dic = this.GetTypeDictionary(); - foreach (var d in dic) - { - if (d.Key == key) - { - return d.Value; - } - } - return ""; - } - - + } + return false; + } } -- Gitblit v1.8.0