using System;
using Shared;
namespace HDL_ON.UI
{
public partial class UserPage : FrameLayout
{
#region 控件列表
///
/// 当前区域
///
FrameLayout bodyView;
///
/// 内容区域
///
FrameLayout ContextView;
///
/// 导航栏区域
///
FrameLayout navigationView;
///
/// 导航栏点击区域
///
FrameLayout NavigationSubView;
#region 底部区域控件
///
/// 收藏子区域
///
FrameLayout collectionView;
///
/// 收藏图标
///
Button btnCollectionIcon;
///
/// 收藏文本
///
Button btnCollectionText;
///
/// 分类子区域
///
FrameLayout classificationView;
///
/// 分类图标
///
Button btnClassificationIcon;
///
/// 分类文本
///
Button btnClassificationText;
///
/// 智能子区域
///
FrameLayout intellectualizationView;
///
/// 智能图标
///
Button btnIntellectualizationIcon;
///
/// 智能文本
///
Button btnIntellectualizationText;
///
/// 个人中心子区域
///
FrameLayout personalCenterView;
///
/// 个人中心图标
///
Button btnPersonalCenterIcon;
///
/// 个人中心文本
///
Button btnPersonalCenterText;
///
/// 选中区域
///
FrameLayout navigationSelectionView;
///
/// 选中区域图标
///
Button btnNavigationSelectionIcon;
#endregion
#endregion
///
/// 当前动画效果
/// 0:收藏
/// 1:分类
/// 2:智能
/// 3:个人
///
int CurAnimationEffect = 0;
public void LoadPage()
{
bodyView = this;
bodyView.BackgroundColor = CSS.CSS_Color.MainBackgroundColor;
ContextView = new FrameLayout()
{
Height = Application.GetRealHeight(618+20),
BackgroundColor = CSS.CSS_Color.BackgroundColor,
};
bodyView.AddChidren(ContextView);
navigationView = new FrameLayout()
{
Y = Application.GetRealHeight(607),
Height = Application.GetMinRealAverage(60),
};
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();
}
///
/// 初始化底部区域
///
void InitBottomView()
{
navigationSelectionView = new FrameLayout()
{
X = Application.GetRealWidth(0 - 94 * 3),
Y = Application.GetMinRealAverage(4),
Width = Application.GetRealWidth(94 * 7),
Height = Application.GetMinRealAverage(38),
BackgroundImagePath = "Navigation/UserPageNavbg.png",
};
navigationView.AddChidren(navigationSelectionView);
btnNavigationSelectionIcon = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetMinRealAverage(6),
Width = Application.GetMinRealAverage(22),
Height = Application.GetMinRealAverage(22),
UnSelectedImagePath = "Navigation/CollectionIconOn.png",
};
navigationSelectionView.AddChidren(btnNavigationSelectionIcon);
NavigationSubView = new FrameLayout()
{
Y = Application.GetMinRealAverage(11),
Height = Application.GetRealHeight(49),
//BackgroundColor=0xFF00F0F0
};
navigationView.AddChidren(NavigationSubView);
#region 收藏区域
collectionView = new FrameLayout() {
Width = Application.GetRealWidth(94),
};
NavigationSubView.AddChidren(collectionView);
btnCollectionIcon = new Button() {
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(5),
Width = Application.GetMinRealAverage(22),
Height = Application.GetMinRealAverage(22),
UnSelectedImagePath = "Navigation/CollectionIcon.png",
SelectedImagePath = "Public/transparent.png",
IsSelected = true,
};
collectionView.AddChidren(btnCollectionIcon);
btnCollectionText = new Button()
{
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,
TextID = StringId.Collection,
TextAlignment = TextAlignment.Center,
};
collectionView.AddChidren(btnCollectionText);
#endregion
#region 分类区域
classificationView = new FrameLayout()
{
Width = Application.GetRealWidth(94),
X = collectionView.Right,
};
NavigationSubView.AddChidren(classificationView);
btnClassificationIcon = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(5),
Width = Application.GetMinRealAverage(22),
Height = Application.GetMinRealAverage(22),
UnSelectedImagePath = "Navigation/ClassificationIcon.png",
SelectedImagePath = "Public/transparent.png",
};
classificationView.AddChidren(btnClassificationIcon);
btnClassificationText = new Button()
{
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,
TextID = StringId.Classification,
TextAlignment = TextAlignment.Center,
};
classificationView.AddChidren(btnClassificationText);
#endregion
#region 智能区域
intellectualizationView = new FrameLayout()
{
Width = Application.GetRealWidth(94),
X = classificationView.Right,
};
NavigationSubView.AddChidren(intellectualizationView);
btnIntellectualizationIcon = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(5),
Width = Application.GetMinRealAverage(22),
Height = Application.GetMinRealAverage(22),
UnSelectedImagePath = "Navigation/IntellectualizationIcon.png",
SelectedImagePath = "Public/transparent.png",
};
intellectualizationView.AddChidren(btnIntellectualizationIcon);
btnIntellectualizationText = new Button()
{
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,
TextID = StringId.Intellectualization,
TextAlignment = TextAlignment.Center,
};
intellectualizationView.AddChidren(btnIntellectualizationText);
#endregion
#region 个人中心
personalCenterView = new FrameLayout()
{
Width = Application.GetRealWidth(94),
X = intellectualizationView.Right,
};
NavigationSubView.AddChidren(personalCenterView);
btnPersonalCenterIcon = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(5),
Width = Application.GetMinRealAverage(22),
Height = Application.GetMinRealAverage(22),
UnSelectedImagePath = "Navigation/PersonalCenterIcon.png",
SelectedImagePath = "Public/transparent.png",
};
personalCenterView.AddChidren(btnPersonalCenterIcon);
btnPersonalCenterText = new Button()
{
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,
TextID = StringId.Personal,
TextAlignment = TextAlignment.Center,
};
personalCenterView.AddChidren(btnPersonalCenterText);
#endregion
var homePage = new HomePage();
ContextView.AddChidren(homePage);
homePage.LoadPage();
}
///
/// 切换到收藏界面
///
void ChooseCollection()
{
CurAnimationEffect = 0;
btnClassificationIcon.IsSelected = false;
btnIntellectualizationIcon.IsSelected = false;
btnPersonalCenterIcon.IsSelected = false;
btnCollectionText.IsSelected = false;
btnClassificationText.IsSelected = false;
btnIntellectualizationText.IsSelected = false;
btnPersonalCenterText.IsSelected = false;
#region 移动动画
var distance = navigationSelectionView.X - collectionView.X + Application.GetRealWidth(94*3);
int total = 10;
int sleepTime = 300;
if (distance > 200)
{
sleepTime = 600;
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)
{
break;
}
Application.RunOnMainThread(() =>
{
//移动
if (index < total)
{
navigationSelectionView.X -= distance;
}
else
{
navigationSelectionView.X = collectionView.X - Application.GetRealWidth(94 * 3);
btnCollectionText.IsSelected = true;
btnCollectionIcon.IsSelected = true;
btnClassificationIcon.IsSelected = false;
btnIntellectualizationIcon.IsSelected = false;
btnPersonalCenterIcon.IsSelected = false;
btnClassificationText.IsSelected = false;
btnIntellectualizationText.IsSelected = false;
btnPersonalCenterText.IsSelected = false;
}
if (index == (total/2))
{
btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/CollectionIconOn.png";
}
//旋转
btnNavigationSelectionIcon.SetRotation(-36f * index);
});
System.Threading.Thread.Sleep(sleepTime / total);
index++;
}
}) { IsBackground = true }.Start();
#endregion
ContextView.RemoveAll();
var homePage = new HomePage();
ContextView.AddChidren(homePage);
homePage.LoadPage();
}
///
/// 切换到分类界面
///
void ChooseClassification()
{
CurAnimationEffect = 1;
btnCollectionIcon.IsSelected = false;
btnIntellectualizationIcon.IsSelected = false;
btnPersonalCenterIcon.IsSelected = false;
btnCollectionText.IsSelected = false;
btnClassificationText.IsSelected = false;
btnIntellectualizationText.IsSelected = false;
btnPersonalCenterText.IsSelected = false;
#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(() =>
{
int index = 0;
while (index < total+1)
{
if (CurAnimationEffect != 1)
{
break;
}
Application.RunOnMainThread(() =>
{
//移动
if (index < total)
{
navigationSelectionView.X -= distance;
}
else
{
navigationSelectionView.X = classificationView.X - Application.GetRealWidth(94 * 3);
btnClassificationText.IsSelected = true;
btnClassificationIcon.IsSelected = true;
btnCollectionIcon.IsSelected = false;
btnIntellectualizationIcon.IsSelected = false;
btnPersonalCenterIcon.IsSelected = false;
btnCollectionText.IsSelected = false;
btnIntellectualizationText.IsSelected = false;
btnPersonalCenterText.IsSelected = false;
}
if (index == (total / 2 ))
{
btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/ClassificationIconOn.png";
}
//旋转
if (distance < 0)
{
btnNavigationSelectionIcon.SetRotation(36f * index);
}
else
{
btnNavigationSelectionIcon.SetRotation(-36f * index);
}
});
System.Threading.Thread.Sleep(sleepTime / total);
index++;
}
})
{ IsBackground = true }.Start();
#endregion
ContextView.RemoveAll();
var classificaitionView = new ClassificationPage();
ContextView.AddChidren(classificaitionView);
classificaitionView.LoadPage();
}
///
/// 切换到智能界面
///
void ChooseIntellectualization()
{
CurAnimationEffect = 2;
btnCollectionText.IsSelected = false;
btnClassificationText.IsSelected = false;
btnIntellectualizationText.IsSelected = false;
btnPersonalCenterText.IsSelected = false;
btnCollectionIcon.IsSelected = false;
btnClassificationIcon.IsSelected = false;
btnPersonalCenterIcon.IsSelected = false;
#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(() => {
int index = 0;
while (index < total+1)
{
if(CurAnimationEffect!=2)
{
break;
}
Application.RunOnMainThread(() =>
{
//移动
if (index < total)
{
navigationSelectionView.X -= distance;
}
else
{
navigationSelectionView.X = intellectualizationView.X - Application.GetRealWidth(94 * 3);
btnIntellectualizationText.IsSelected = true;
btnIntellectualizationIcon.IsSelected = true;
btnCollectionText.IsSelected = false;
btnClassificationText.IsSelected = false;
btnPersonalCenterText.IsSelected = false;
btnCollectionIcon.IsSelected = false;
btnClassificationIcon.IsSelected = false;
btnPersonalCenterIcon.IsSelected = false;
}
if (index == (total / 2 ))
{
btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/IntellectualizationIconOn.png";
}
//旋转
if (distance < 0)
{
btnNavigationSelectionIcon.SetRotation(36f * index);
}
else
{
btnNavigationSelectionIcon.SetRotation(-36f * index);
}
});
System.Threading.Thread.Sleep(sleepTime / total);
index++;
}
})
{ IsBackground = true }.Start();
#endregion
ContextView.RemoveAll();
}
///
/// 切换到个人中心界面
///
void ChoosePersonalCenter()
{
CurAnimationEffect = 3;
btnCollectionText.IsSelected = false;
btnClassificationText.IsSelected = false;
btnIntellectualizationText.IsSelected = false;
btnPersonalCenterText.IsSelected = false;
btnCollectionIcon.IsSelected = false;
btnClassificationIcon.IsSelected = false;
btnIntellectualizationIcon.IsSelected = false;
#region 移动动画
var distance = navigationSelectionView.X - personalCenterView.X + Application.GetRealWidth(94 * 3);
int total = 10;
int sleepTime = 300;
if (distance < -200)
{
sleepTime = 600;
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 != 3)
{
break;
}
Application.RunOnMainThread(() =>
{
//移动
if (index < total)
{
navigationSelectionView.X -= distance;
}
else
{
navigationSelectionView.X = personalCenterView.X - Application.GetRealWidth(94 * 3);
btnPersonalCenterText.IsSelected = true;
btnPersonalCenterIcon.IsSelected = true;
btnCollectionText.IsSelected = false;
btnClassificationText.IsSelected = false;
btnIntellectualizationText.IsSelected = false;
btnCollectionIcon.IsSelected = false;
btnClassificationIcon.IsSelected = false;
btnIntellectualizationIcon.IsSelected = false;
}
if (index == (total / 2 ))
{
btnNavigationSelectionIcon.UnSelectedImagePath = "Navigation/PersonalCenterIconOn.png";
}
//旋转
btnNavigationSelectionIcon.SetRotation(36f * index);
});
System.Threading.Thread.Sleep(sleepTime / total);
index++;
}
})
{ IsBackground = true }.Start();
#endregion
ContextView.RemoveAll();
var personalCenterPage = new UI.PersonalCenterPage();
ContextView.AddChidren(personalCenterPage);
personalCenterPage.LoadView();
}
}
}