wxr
2021-07-01 43b0d5870d528f23ecd6aeceb6cfd4325188b46f
HDL_ON/UI/UI2/UserPage.cs
@@ -1,11 +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>
        /// 当前区域
@@ -15,6 +17,7 @@
        /// 内容区域
        /// </summary>
        FrameLayout ContextView;
        //VerticalRefreshLayout ContextView;
        /// <summary>
        /// 导航栏区域
        /// </summary>
@@ -83,36 +86,54 @@
        #endregion
        #endregion
        /// <summary>
        /// 当前动画效果
        /// 0:收藏
        /// 1:分类
        /// 2:智能
        /// 3:个人
        /// </summary>
        int CurAnimationEffect = 0;
        public void LoadPage()
        {
            bodyView = this;
            bodyView.BackgroundColor = CSS.CSS_Color.MainBackgroundColor;
            ContextView = new FrameLayout()
            try
            {
                Height = Application.GetRealHeight(618+25),
                BackgroundColor = CSS.CSS_Color.BackgroundColor
            };
            bodyView.AddChidren(ContextView);
                bodyView = this;
                bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
                ContextView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(618 + 17),//导航栏底部界限
                    BackgroundColor = CSS_Color.BackgroundColor,
                };
                bodyView.AddChidren(ContextView);
            navigationView = new FrameLayout()
                navigationView = new FrameLayout()
                {
                    Y = Application.GetRealHeight(607),
                    Height = Application.GetMinRealAverage(60),
                    //BackgroundColor = CSS_Color.BackgroundColor
                };
                bodyView.AddChidren(navigationView);
                if (MainPage.Increase)
                {
                    //ContextView.Height = Application.GetRealHeight(618 + 20);
                    navigationView.Y = Application.GetRealHeight(597 + 5);
                    navigationView.Height = Application.GetRealHeight(70 - 5);
                }
                InitBottomView();
                LoadEventList();
                var homePage = new HomePage();
                ContextView.AddChidren(homePage);
                homePage.LoadPage();
                if (!MainPage.NoLoginMode)
                {
                    //注册推送ID
                    RegisteredPush();
                }
                //2020-12-07 增加版本检测更新方法
                HDLCommon.Current.CheckIfNeedForceUpdate();
            }
            catch (Exception ex)
            {
                Y = Application.GetRealHeight(607),
                Height = Application.GetMinRealAverage(60),
            };
            bodyView.AddChidren(navigationView);
            InitBottomView();
            LoadEventList();
                MainPage.Log($"UserPage error {ex.Message}");
            }
        }
        /// <summary>
@@ -122,10 +143,10 @@
        {
            navigationSelectionView = new FrameLayout()
            {
                X = Application.GetMinRealAverage(0 - 94 * 3),
                X = Application.GetRealWidth(0 - 94 * 3),
                Y = Application.GetMinRealAverage(4),
                Width = Application.GetMinRealAverage(94 * 7),
                Height = Application.GetMinRealAverage(38),
                Width = Application.GetRealWidth(94 * 7),
                Height = Application.GetRealWidth(38),
                BackgroundImagePath = "Navigation/UserPageNavbg.png",
            };
            navigationView.AddChidren(navigationSelectionView);
@@ -133,10 +154,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);
@@ -158,8 +179,8 @@
                Y = Application.GetRealHeight(5),
                Width = Application.GetMinRealAverage(22),
                Height = Application.GetMinRealAverage(22),
                UnSelectedImagePath = "Navigation/CollectionIcon.png",
                SelectedImagePath = "0Common/transparent.png",
                UnSelectedImagePath = "Navigation/HomePageIcon.png",
                SelectedImagePath = "Public/transparent.png",
                IsSelected = true,
            };
            collectionView.AddChidren(btnCollectionIcon);
@@ -168,11 +189,12 @@
                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
@@ -191,7 +213,7 @@
                Width = Application.GetMinRealAverage(22),
                Height = Application.GetMinRealAverage(22),
                UnSelectedImagePath = "Navigation/ClassificationIcon.png",
                SelectedImagePath = "0Common/transparent.png",
                SelectedImagePath = "Public/transparent.png",
            };
            classificationView.AddChidren(btnClassificationIcon);
            btnClassificationText = new Button()
@@ -199,9 +221,9 @@
                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,
            };
@@ -222,7 +244,7 @@
                Width = Application.GetMinRealAverage(22),
                Height = Application.GetMinRealAverage(22),
                UnSelectedImagePath = "Navigation/IntellectualizationIcon.png",
                SelectedImagePath = "0Common/transparent.png",
                SelectedImagePath = "Public/transparent.png",
            };
            intellectualizationView.AddChidren(btnIntellectualizationIcon);
            btnIntellectualizationText = new Button()
@@ -230,9 +252,9 @@
                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,
            };
@@ -254,7 +276,7 @@
                Width = Application.GetMinRealAverage(22),
                Height = Application.GetMinRealAverage(22),
                UnSelectedImagePath = "Navigation/PersonalCenterIcon.png",
                SelectedImagePath = "0Common/transparent.png",
                SelectedImagePath = "Public/transparent.png",
            };
            personalCenterView.AddChidren(btnPersonalCenterIcon);
@@ -263,29 +285,29 @@
                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
            var homePage = new HomePage();
            ContextView.AddChidren(homePage);
            homePage.LoadPage();
        }
        /// <summary>
        /// 切换到收藏界面
        /// </summary>
        void ChooseCollection()
        public void ChooseCollection()
        {
            CurAnimationEffect = 0;
            if (MainPage.CurPageIndex == 0)
            {
                return;
            }
            btnClassificationIcon.IsSelected = false;
            btnIntellectualizationIcon.IsSelected = false;
            btnPersonalCenterIcon.IsSelected = false;
@@ -294,24 +316,26 @@
            btnIntellectualizationText.IsSelected = false;
            btnPersonalCenterText.IsSelected = false;
            #region 移动动画
            var distance = navigationSelectionView.X - collectionView.X + Application.GetMinRealAverage(94*3);
            //移动距离
            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;
                while (index < total+1) {
                    if (CurAnimationEffect != 0)
                MainPage.CurPageIndex = 0;
                while (index < total+1)
                {
                    if (MainPage.CurPageIndex != 0)
                    {
                        break;
                    }
@@ -324,7 +348,7 @@
                        }
                        else
                        {
                            navigationSelectionView.X = collectionView.X - Application.GetMinRealAverage(94 * 3);
                            navigationSelectionView.X = collectionView.X - Application.GetRealWidth(94 * 3);
                            btnCollectionText.IsSelected = true;
                            btnCollectionIcon.IsSelected = true;
                            btnClassificationIcon.IsSelected = false;
@@ -333,10 +357,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);
@@ -344,7 +369,12 @@
                    System.Threading.Thread.Sleep(sleepTime / total);
                    index++;
                }
            }) { IsBackground = true }.Start();
                Application.RunOnMainThread(() =>
                {
                    btnNavigationSelectionIcon.SetRotation(0f);
                });
            }) { IsBackground = true ,Priority = System.Threading.ThreadPriority.Highest}.Start();
            #endregion
            ContextView.RemoveAll();
            var homePage = new HomePage();
@@ -356,7 +386,10 @@
        /// </summary>
        void ChooseClassification()
        {
            CurAnimationEffect = 1;
            if (MainPage.CurPageIndex == 1)
            {
                return;
            }
            btnCollectionIcon.IsSelected = false;
            btnIntellectualizationIcon.IsSelected = false;
            btnPersonalCenterIcon.IsSelected = false;
@@ -365,21 +398,25 @@
            btnIntellectualizationText.IsSelected = false;
            btnPersonalCenterText.IsSelected = false;
            #region 移动动画
            var distance = navigationSelectionView.X - classificationView.X + Application.GetMinRealAverage(94 * 3);
            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 (MainPage.CurPageIndex == 1)
                {
                    return;
                }
                MainPage.CurPageIndex = 1;
                int index = 0;
                while (index < total+1)
                {
                    if (CurAnimationEffect != 1)
                    if (MainPage.CurPageIndex != 1)
                    {
                        break;
                    }
@@ -392,7 +429,7 @@
                        }
                        else
                        {
                            navigationSelectionView.X = classificationView.X - Application.GetMinRealAverage(94 * 3);
                            navigationSelectionView.X = classificationView.X - Application.GetRealWidth(94 * 3);
                            btnClassificationText.IsSelected = true;
                            btnClassificationIcon.IsSelected = true;
                            btnCollectionIcon.IsSelected = false;
@@ -401,6 +438,7 @@
                            btnCollectionText.IsSelected = false;
                            btnIntellectualizationText.IsSelected = false;
                            btnPersonalCenterText.IsSelected = false;
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/ClassificationIconOn.png";
                        }
                        if (index == (total / 2 ))
                        {
@@ -419,11 +457,16 @@
                    System.Threading.Thread.Sleep(sleepTime / total);
                    index++;
                }
                Application.RunOnMainThread(() =>
                {
                    btnNavigationSelectionIcon.SetRotation(0f);
                });
            })
            { IsBackground = true }.Start();
            { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
            #endregion
            ContextView.RemoveAll();
            var classificaitionView = new UI.ClassificationPage();
            var classificaitionView = new ClassificationPage();
            ContextView.AddChidren(classificaitionView);
            classificaitionView.LoadPage();
@@ -434,7 +477,10 @@
        /// </summary>
        void ChooseIntellectualization()
        {
            CurAnimationEffect = 2;
            if (MainPage.CurPageIndex == 2)
            {
                return;
            }
            btnCollectionText.IsSelected = false;
            btnClassificationText.IsSelected = false;
            btnIntellectualizationText.IsSelected = false;
@@ -443,20 +489,24 @@
            btnClassificationIcon.IsSelected = false;
            btnPersonalCenterIcon.IsSelected = false;
            #region 移动动画
            var distance = navigationSelectionView.X - intellectualizationView.X + Application.GetMinRealAverage(94 * 3);
            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 (MainPage.CurPageIndex == 2)
                {
                    return;
                }
                MainPage.CurPageIndex = 2;
                int index = 0;
                while (index < total+1)
                {
                    if(CurAnimationEffect!=2)
                    if(MainPage.CurPageIndex!=2)
                    {
                        break;
                    }
@@ -469,7 +519,7 @@
                        }
                        else
                        {
                            navigationSelectionView.X = intellectualizationView.X - Application.GetMinRealAverage(94 * 3);
                            navigationSelectionView.X = intellectualizationView.X - Application.GetRealWidth(94 * 3);
                            btnIntellectualizationText.IsSelected = true;
                            btnIntellectualizationIcon.IsSelected = true;
                            btnCollectionText.IsSelected = false;
@@ -478,6 +528,7 @@
                            btnCollectionIcon.IsSelected = false;
                            btnClassificationIcon.IsSelected = false;
                            btnPersonalCenterIcon.IsSelected = false;
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/IntellectualizationIconOn.png";
                        }
                        if (index == (total / 2 ))
                        {
@@ -496,18 +547,31 @@
                    System.Threading.Thread.Sleep(sleepTime / total);
                    index++;
                }
                Application.RunOnMainThread(() =>
                {
                    btnNavigationSelectionIcon.SetRotation(0f);
                });
            })
            { IsBackground = true }.Start();
            { 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()
        {
            CurAnimationEffect = 3;
            if (MainPage.CurPageIndex == 3)
            {
                return;
            }
            btnCollectionText.IsSelected = false;
            btnClassificationText.IsSelected = false;
            btnIntellectualizationText.IsSelected = false;
@@ -516,25 +580,25 @@
            btnClassificationIcon.IsSelected = false;
            btnIntellectualizationIcon.IsSelected = false;
            #region 移动动画
            var distance = navigationSelectionView.X - personalCenterView.X + Application.GetMinRealAverage(94 * 3);
            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(() => {
                MainPage.CurPageIndex = 3;
                int index = 0;
                while (index < total+1)
                {
                    if (CurAnimationEffect != 3)
                    if (MainPage.CurPageIndex != 3)
                    {
                        break;
                    }
@@ -547,7 +611,7 @@
                        }
                        else
                        {
                            navigationSelectionView.X = personalCenterView.X - Application.GetMinRealAverage(94 * 3);
                            navigationSelectionView.X = personalCenterView.X - Application.GetRealWidth(94 * 3);
                            btnPersonalCenterText.IsSelected = true;
                            btnPersonalCenterIcon.IsSelected = true;
                            btnCollectionText.IsSelected = false;
@@ -556,6 +620,7 @@
                            btnCollectionIcon.IsSelected = false;
                            btnClassificationIcon.IsSelected = false;
                            btnIntellectualizationIcon.IsSelected = false;
                            btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/PersonalCenterIconOn.png";
                        }
                        if (index == (total / 2 ))
                        {
@@ -567,10 +632,13 @@
                    System.Threading.Thread.Sleep(sleepTime / total);
                    index++;
                }
                Application.RunOnMainThread(() =>
                {
                    btnNavigationSelectionIcon.SetRotation(0f);
                });
            })
            { IsBackground = true }.Start();
            { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
            #endregion
            ContextView.RemoveAll();
            var personalCenterPage = new UI.PersonalCenterPage();
@@ -578,5 +646,12 @@
            personalCenterPage.LoadView();
        }
        /// <summary>
        /// 注册推送
        /// </summary>
        void RegisteredPush()
        {
            new HttpServerRequest().RegisteredPush();
        }
    }
}