xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
HDL_ON/UI/UI2/UserPage.cs
@@ -1,12 +1,13 @@
using System;
using HDL_ON.Entity;
using Shared;
using HDL_ON.UI.CSS;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
    public partial class UserPage : FrameLayout
    {
        #region 控件列表
        /// <summary>
        /// 当前区域
@@ -16,6 +17,7 @@
        /// 内容区域
        /// </summary>
        FrameLayout ContextView;
        //VerticalRefreshLayout ContextView;
        /// <summary>
        /// 导航栏区域
        /// </summary>
@@ -84,25 +86,17 @@
        #endregion
        #endregion
        /// <summary>
        /// 当前动画效果
        /// 0:收藏
        /// 1:分类
        /// 2:智能
        /// 3:个人
        /// </summary>
        int CurAnimationEffect = 0;
        public void LoadPage()
        {
            try
            {
                bodyView = this;
                bodyView.BackgroundColor = CSS.CSS_Color.MainBackgroundColor;
                bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
                ContextView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(618 + 20),
                    BackgroundColor = CSS.CSS_Color.BackgroundColor,
                    Height = Application.GetRealHeight(618 + 17),//导航栏底部界限
                    BackgroundColor = CSS_Color.BackgroundColor,
                };
                bodyView.AddChidren(ContextView);
@@ -110,6 +104,7 @@
                {
                    Y = Application.GetRealHeight(607),
                    Height = Application.GetMinRealAverage(60),
                    //BackgroundColor = CSS_Color.BackgroundColor
                };
                bodyView.AddChidren(navigationView);
                if (MainPage.Increase)
@@ -126,8 +121,34 @@
                ContextView.AddChidren(homePage);
                homePage.LoadPage();
                //刷新功能状态
                DB_ResidenceData.residenceData.RefreshResidenceFunctionStatus();
                if (!MainPage.NoLoginMode)
                {
                    //注册推送ID
                    RegisteredPush();
                }
                //2020-12-07 增加版本检测更新方法
                HDLCommon.Current.CheckIfNeedForceUpdate();
#if __Android__
                //开启定位服务
                Shared.Application.StartGPSLocationService();
                if (DB_ResidenceData.Instance.NeedTip) {
                    DB_ResidenceData.Instance.LastTipTime = DateTime.Now;
                    if (CN.Jpush.Android.Api.JPushInterface.IsNotificationEnabled(Shared.Application.Activity) != 1)
                    {
                        Action action = () =>
                        {
                            CN.Jpush.Android.Api.JPushInterface.GoToAppNotificationSettings(Shared.Application.Activity);
                        };
                        Shared.Application.RunOnMainThread(() =>
                        {
                            new HDL_ON.UI.ConfirmDialog().ShowDialog(StringId.Tip, StringId.Android_MessagePushTip, action);
                        });
                    }
                }
#endif
            }
            catch (Exception ex)
            {
@@ -145,7 +166,7 @@
                X = Application.GetRealWidth(0 - 94 * 3),
                Y = Application.GetMinRealAverage(4),
                Width = Application.GetRealWidth(94 * 7),
                Height = Application.GetMinRealAverage(38),
                Height = Application.GetRealWidth(38),
                BackgroundImagePath = "Navigation/UserPageNavbg.png",
            };
            navigationView.AddChidren(navigationSelectionView);
@@ -153,10 +174,10 @@
            btnNavigationSelectionIcon = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetMinRealAverage(6),
                Width = Application.GetMinRealAverage(22),
                Height = Application.GetMinRealAverage(22),
                UnSelectedImagePath = "Navigation/CollectionIconOn.png",
                Y = Application.GetRealWidth(6),
                Width = Application.GetRealWidth(22),
                Height = Application.GetRealWidth(22),
                UnSelectedImagePath = "Navigation/HomePageIconOn.png",
            };
            navigationSelectionView.AddChidren(btnNavigationSelectionIcon);
@@ -168,7 +189,7 @@
            };
            navigationView.AddChidren(NavigationSubView);
            #region 收藏区域
#region 收藏区域
            collectionView = new FrameLayout() {
                Width  = Application.GetRealWidth(94),
            };
@@ -178,7 +199,7 @@
                Y = Application.GetRealHeight(5),
                Width = Application.GetMinRealAverage(22),
                Height = Application.GetMinRealAverage(22),
                UnSelectedImagePath = "Navigation/CollectionIcon.png",
                UnSelectedImagePath = "Navigation/HomePageIcon.png",
                SelectedImagePath = "Public/transparent.png",
                IsSelected = true,
            };
@@ -188,16 +209,17 @@
                Gravity = Gravity.CenterHorizontal,
                Y = btnCollectionIcon.Bottom,
                Height = Application.GetRealHeight(16),
                SelectedTextColor = CSS.CSS_Color.MainColor,
                TextColor =CSS.CSS_Color.FirstLevelTitleColor,
                TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                SelectedTextColor = CSS_Color.MainColor,
                TextColor =CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                TextID = StringId.Collection,
                TextAlignment = TextAlignment.Center,
                IsSelected = true,
            };
            collectionView.AddChidren(btnCollectionText);
            #endregion
#endregion
            #region 分类区域
#region 分类区域
            classificationView = new FrameLayout()
            {
                Width = Application.GetRealWidth(94),
@@ -219,16 +241,16 @@
                Gravity = Gravity.CenterHorizontal,
                Y = btnCollectionIcon.Bottom,
                Height = Application.GetRealHeight(16),
                SelectedTextColor = CSS.CSS_Color.MainColor,
                TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                SelectedTextColor = CSS_Color.MainColor,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                TextID = StringId.Classification,
                TextAlignment = TextAlignment.Center,
            };
            classificationView.AddChidren(btnClassificationText);
            #endregion
#endregion
            #region 智能区域
#region 智能区域
            intellectualizationView = new FrameLayout()
            {
                Width = Application.GetRealWidth(94),
@@ -250,16 +272,16 @@
                Gravity = Gravity.CenterHorizontal,
                Y = btnCollectionIcon.Bottom,
                Height = Application.GetRealHeight(16),
                TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                SelectedTextColor = CSS.CSS_Color.MainColor,
                TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                TextColor = CSS_Color.FirstLevelTitleColor,
                SelectedTextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                TextID = StringId.Intellectualization,
                TextAlignment = TextAlignment.Center,
            };
            intellectualizationView.AddChidren(btnIntellectualizationText);
            #endregion
#endregion
            
            #region 个人中心
#region 个人中心
            personalCenterView = new FrameLayout()
            {
                Width = Application.GetRealWidth(94),
@@ -283,14 +305,14 @@
                Gravity = Gravity.CenterHorizontal,
                Y = btnCollectionIcon.Bottom,
                Height = Application.GetRealHeight(16),
                TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                SelectedTextColor = CSS.CSS_Color.MainColor,
                TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                TextColor = CSS_Color.FirstLevelTitleColor,
                SelectedTextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                TextID = StringId.Personal,
                TextAlignment = TextAlignment.Center,
            };
            personalCenterView.AddChidren(btnPersonalCenterText);
            #endregion
#endregion
            var homePage = new HomePage();
            ContextView.AddChidren(homePage);
@@ -300,8 +322,12 @@
        /// <summary>
        /// 切换到收藏界面
        /// </summary>
        void ChooseCollection()
        public void ChooseCollection()
        {
            if (MainPage.CurPageIndex == 0)
            {
                return;
            }
            btnClassificationIcon.IsSelected = false;
            btnIntellectualizationIcon.IsSelected = false;
            btnPersonalCenterIcon.IsSelected = false;
@@ -309,32 +335,27 @@
            btnClassificationText.IsSelected = false;
            btnIntellectualizationText.IsSelected = false;
            btnPersonalCenterText.IsSelected = false;
            #region 移动动画
#region 移动动画
            //移动距离
            var distance = navigationSelectionView.X - collectionView.X + Application.GetRealWidth(94*3);
            int total = 10;
            int sleepTime = 300;
            if (distance > 200)
            {
                sleepTime = 600;
                sleepTime = 400;
                total = 30;
            }
            else if (distance > 100)
            {
                sleepTime = 450;
                total = 20;
            }
            distance /= total;
            new System.Threading.Thread(() => {
                int index = 0;
                if(CurAnimationEffect == 0)
                {
                    return;
                }
                CurAnimationEffect = 0;
                MainPage.CurPageIndex = 0;
                while (index < total+1)
                {
                    if (CurAnimationEffect != 0)
                    if (MainPage.CurPageIndex != 0)
                    {
                        break;
                    }
@@ -356,10 +377,11 @@
                            btnClassificationText.IsSelected = false;
                            btnIntellectualizationText.IsSelected = false;
                            btnPersonalCenterText.IsSelected = false;
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/HomePageIconOn.png";
                        }
                        if (index == (total/2))
                        {
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/CollectionIconOn.png";
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/HomePageIconOn.png";
                        }
                        //旋转
                        btnNavigationSelectionIcon.SetRotation(-36f * index);
@@ -367,8 +389,13 @@
                    System.Threading.Thread.Sleep(sleepTime / total);
                    index++;
                }
            }) { IsBackground = true }.Start();
            #endregion
                Application.RunOnMainThread(() =>
                {
                    btnNavigationSelectionIcon.SetRotation(0f);
                });
            }) { IsBackground = true ,Priority = System.Threading.ThreadPriority.Highest}.Start();
#endregion
            ContextView.RemoveAll();
            var homePage = new HomePage();
            ContextView.AddChidren(homePage);
@@ -379,6 +406,10 @@
        /// </summary>
        void ChooseClassification()
        {
            if (MainPage.CurPageIndex == 1)
            {
                return;
            }
            btnCollectionIcon.IsSelected = false;
            btnIntellectualizationIcon.IsSelected = false;
            btnPersonalCenterIcon.IsSelected = false;
@@ -386,27 +417,26 @@
            btnClassificationText.IsSelected = false;
            btnIntellectualizationText.IsSelected = false;
            btnPersonalCenterText.IsSelected = false;
            #region 移动动画
#region 移动动画
            var distance = navigationSelectionView.X - classificationView.X + Application.GetRealWidth(94 * 3);
            int total = 10;
            int sleepTime = 300;
            if (distance > 100 || distance < -100)
            {
                sleepTime = 450;
                total = 20;
            }
            distance /= total;
            new System.Threading.Thread(() =>
            {
                if (CurAnimationEffect == 1)
                if (MainPage.CurPageIndex == 1)
                {
                    return;
                }
                CurAnimationEffect = 1;
                MainPage.CurPageIndex = 1;
                int index = 0;
                while (index < total+1)
                {
                    if (CurAnimationEffect != 1)
                    if (MainPage.CurPageIndex != 1)
                    {
                        break;
                    }
@@ -428,6 +458,7 @@
                            btnCollectionText.IsSelected = false;
                            btnIntellectualizationText.IsSelected = false;
                            btnPersonalCenterText.IsSelected = false;
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/ClassificationIconOn.png";
                        }
                        if (index == (total / 2 ))
                        {
@@ -446,9 +477,14 @@
                    System.Threading.Thread.Sleep(sleepTime / total);
                    index++;
                }
                Application.RunOnMainThread(() =>
                {
                    btnNavigationSelectionIcon.SetRotation(0f);
                });
            })
            { IsBackground = true }.Start();
            #endregion
            { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
#endregion
            ContextView.RemoveAll();
            var classificaitionView = new ClassificationPage();
            ContextView.AddChidren(classificaitionView);
@@ -461,6 +497,10 @@
        /// </summary>
        void ChooseIntellectualization()
        {
            if (MainPage.CurPageIndex == 2)
            {
                return;
            }
            btnCollectionText.IsSelected = false;
            btnClassificationText.IsSelected = false;
            btnIntellectualizationText.IsSelected = false;
@@ -468,26 +508,25 @@
            btnCollectionIcon.IsSelected = false;
            btnClassificationIcon.IsSelected = false;
            btnPersonalCenterIcon.IsSelected = false;
            #region 移动动画
#region 移动动画
            var distance = navigationSelectionView.X - intellectualizationView.X + Application.GetRealWidth(94 * 3);
            int total = 10;
            int sleepTime = 300;
            if (distance > 100 || distance < -100)
            {
                sleepTime = 450;
                total = 20;
            }
            distance /= total;
            new System.Threading.Thread(() => {
                if (CurAnimationEffect == 2)
                if (MainPage.CurPageIndex == 2)
                {
                    return;
                }
                CurAnimationEffect = 2;
                MainPage.CurPageIndex = 2;
                int index = 0;
                while (index < total+1)
                {
                    if(CurAnimationEffect!=2)
                    if(MainPage.CurPageIndex!=2)
                    {
                        break;
                    }
@@ -509,6 +548,7 @@
                            btnCollectionIcon.IsSelected = false;
                            btnClassificationIcon.IsSelected = false;
                            btnPersonalCenterIcon.IsSelected = false;
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/IntellectualizationIconOn.png";
                        }
                        if (index == (total / 2 ))
                        {
@@ -527,17 +567,31 @@
                    System.Threading.Thread.Sleep(sleepTime / total);
                    index++;
                }
                Application.RunOnMainThread(() =>
                {
                    btnNavigationSelectionIcon.SetRotation(0f);
                });
            })
            { IsBackground = true }.Start();
            #endregion
            { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
#endregion
            ContextView.RemoveAll();
            var intelligenceView = new IntelligencePage();
            ContextView.AddChidren(intelligenceView);
            intelligenceView.LoadPage();
        }
        /// <summary>
        /// 切换到个人中心界面
        /// </summary>
        void ChoosePersonalCenter()
        public void ChoosePersonalCenter()
        {
            if (MainPage.CurPageIndex == 3)
            {
                return;
            }
            btnCollectionText.IsSelected = false;
            btnClassificationText.IsSelected = false;
            btnIntellectualizationText.IsSelected = false;
@@ -545,31 +599,26 @@
            btnCollectionIcon.IsSelected = false;
            btnClassificationIcon.IsSelected = false;
            btnIntellectualizationIcon.IsSelected = false;
            #region 移动动画
#region 移动动画
            var distance = navigationSelectionView.X - personalCenterView.X + Application.GetRealWidth(94 * 3);
            int total = 10;
            int sleepTime = 300;
            if (distance < -200)
            {
                sleepTime = 600;
                sleepTime = 400;
                total = 30;
            }
            else if (distance < -100)
            {
                sleepTime = 450;
                total = 20;
            }
            distance /= total;
            new System.Threading.Thread(() => {
                if (CurAnimationEffect == 3)
                {
                    return;
                }
                CurAnimationEffect = 3;
                MainPage.CurPageIndex = 3;
                int index = 0;
                while (index < total+1)
                {
                    if (CurAnimationEffect != 3)
                    if (MainPage.CurPageIndex != 3)
                    {
                        break;
                    }
@@ -591,6 +640,7 @@
                            btnCollectionIcon.IsSelected = false;
                            btnClassificationIcon.IsSelected = false;
                            btnIntellectualizationIcon.IsSelected = false;
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/PersonalCenterIconOn.png";
                        }
                        if (index == (total / 2 ))
                        {
@@ -602,10 +652,13 @@
                    System.Threading.Thread.Sleep(sleepTime / total);
                    index++;
                }
                Application.RunOnMainThread(() =>
                {
                    btnNavigationSelectionIcon.SetRotation(0f);
                });
            })
            { IsBackground = true }.Start();
            #endregion
            { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
#endregion
            ContextView.RemoveAll();
            var personalCenterPage = new UI.PersonalCenterPage();
@@ -613,5 +666,12 @@
            personalCenterPage.LoadView();
        }
        /// <summary>
        /// 注册推送
        /// </summary>
        void RegisteredPush()
        {
            new HttpServerRequest().RegisteredPush();
        }
    }
}