using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone.UserCenter.Guide { /// /// 引导界面的共通界面 /// public class GuideCommonForm : FrameLayoutBase { #region ■ 变量声明___________________________ /// /// 场景和功能的控件 /// public FrameLayout contrSwitch = null; /// /// 场景控件 /// public NormalViewControl btnScene = null; /// /// 功能 /// public NormalViewControl btnFunction = null; /// /// 住宅名称 /// public NormalViewControl btnHouse = null; #endregion #region ■ 初始化_____________________________ /// /// 显示界面 /// public virtual void ShowFrom() { Phone.MainPage.ListRoomViewFrom.Instance.CanClick = false; UserView.UserPage.Instance.AddChidren(this); this.BackgroundColor = Common.ZigbeeColor.Current.GXCGrayBackgroundColor; //住宅列表图标 var btnHouseIcon = new IconViewControl(69); btnHouseIcon.UnSelectedImagePath = "Item/Floor.png"; btnHouseIcon.Y = Application.GetRealHeight(86); btnHouseIcon.X = ControlCommonResourse.XXLeft; this.AddChidren(btnHouseIcon); //消息图标 var btnMsg = new IconViewControl(69); btnMsg.Y = Application.GetRealHeight(86); btnMsg.X = Application.GetRealWidth(953); btnMsg.UnSelectedImagePath = "Item/Message.png"; this.AddChidren(btnMsg); //住宅名字 this.btnHouse = new NormalViewControl(300, 95, true); btnHouse.TextSize = 24; btnHouse.X = ControlCommonResourse.XXLeft; btnHouse.Y = Application.GetRealHeight(161); btnHouse.TextID = R.MyInternationalizationString.uMyResidence; this.AddChidren(btnHouse); //左右滑动控件的背景容器 var frameBack = new FrameLayout(); frameBack.Y = Application.GetRealHeight(302); frameBack.Width = this.Width; ; frameBack.Height = Application.GetRealHeight(478); this.AddChidren(frameBack); //房间滑动控件左边的虚拟图片 var mLeftImageView = new ImageView(); mLeftImageView.ImagePath = "RoomIcon/1.jpg"; mLeftImageView.Radius = (uint)Application.GetRealHeight(17); mLeftImageView.Width = Application.GetRealWidth(717); mLeftImageView.Height = Application.GetRealHeight(478); //房间滑动控件右边的虚拟图片 var mRightImageView = new ImageView(); mRightImageView.ImagePath = "RoomIcon/2.jpg"; mRightImageView.Radius = (uint)Application.GetRealHeight(17); mRightImageView.Width = mLeftImageView.Width; mRightImageView.Height = mLeftImageView.Height; //左右滑动的房间 var roomPageView = new HorizontalPages(); roomPageView.Width = frameBack.Width; roomPageView.Height = frameBack.Height; frameBack.AddChidren(roomPageView); //突出边距 roomPageView.TCBJ = Application.GetRealWidth(124); //两个page之间的间距 roomPageView.JMBJ = Application.GetRealWidth(58); //在这个控件的下面添加阴影效果 var btnRoomBottomShadow = new NormalViewControl(717, 81, true); btnRoomBottomShadow.Y = frameBack.Bottom; btnRoomBottomShadow.Gravity = Gravity.CenterHorizontal; btnRoomBottomShadow.UnSelectedImagePath = "Room/RoomCardShadow.png"; this.AddChidren(btnRoomBottomShadow); //设置控制最左和最右2边填充的假背景View,不设置不显示,需要在AddChidren 前调用该方法 roomPageView.SetLeftAndRightImageView(mLeftImageView, mRightImageView); //客厅 var room1 = new Common.Room(); room1.BackgroundImage = "RoomIcon/0.jpg"; room1.Name = Language.StringByID(R.MyInternationalizationString.uLivingRoom); var roomView1 = new Phone.Device.CommonForm.RoomView(0, 0); roomPageView.AddChidren(roomView1); roomView1.Init(room1); roomView1.HideName(false); //阳台 var room2 = new Common.Room(); room2.BackgroundImage = "RoomIcon/1.jpg"; room2.Name = Language.StringByID(R.MyInternationalizationString.uBalcony); var roomView2 = new Phone.Device.CommonForm.RoomView(0, 0); roomPageView.AddChidren(roomView2); roomView2.Init(room2); roomView2.HideName(true); //卧室 var room3 = new Common.Room(); room3.BackgroundImage = "RoomIcon/2.jpg"; room3.Name = Language.StringByID(R.MyInternationalizationString.uBedroom); var roomView3 = new Phone.Device.CommonForm.RoomView(0, 0); roomPageView.AddChidren(roomView3); roomView3.Init(room3); roomView3.HideName(true); //在房间卡片左边添加遮罩 var btnRoomLeftShadow = new FrameLayout(); btnRoomLeftShadow.Width = Application.GetRealWidth(124); btnRoomLeftShadow.Height = roomPageView.Height - roomPageView.JMBJ * 2; btnRoomLeftShadow.Gravity = Gravity.CenterVertical; btnRoomLeftShadow.BackgroundColor = 0x1c000000; btnRoomLeftShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight); frameBack.AddChidren(btnRoomLeftShadow); //在房间卡片右边添加遮罩 var btnRoomRightShadow = new FrameLayout(); btnRoomRightShadow.Width = btnRoomLeftShadow.Width; btnRoomRightShadow.Height = btnRoomLeftShadow.Height; btnRoomRightShadow.X = Application.GetRealWidth(956); btnRoomRightShadow.Gravity = Gravity.CenterVertical; btnRoomRightShadow.BackgroundColor = btnRoomLeftShadow.BackgroundColor; btnRoomRightShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft); frameBack.AddChidren(btnRoomRightShadow); //控件开始滑动的事件 roomPageView.StartScrollAction += () => { //开始滑动时,隐藏当前的数据显示 (roomPageView.GetChildren(roomPageView.PageIndex) as Phone.Device.CommonForm.RoomView).HideName(true); btnRoomLeftShadow.Visible = false; btnRoomRightShadow.Visible = false; btnRoomBottomShadow.Visible = false; }; roomPageView.EndScrollAction += () => { int curIndex = roomPageView.PageIndex; //前一张卡片 if (roomPageView.GetChildren(curIndex - 1) != null) { (roomPageView.GetChildren(curIndex - 1) as Phone.Device.CommonForm.RoomView).HideName(true); } //当前卡片 if (roomPageView.GetChildren(curIndex) != null) { (roomPageView.GetChildren(curIndex) as Phone.Device.CommonForm.RoomView).HideName(false); } //下一张卡片 if (roomPageView.GetChildren(curIndex + 1) != null) { (roomPageView.GetChildren(curIndex + 1) as Phone.Device.CommonForm.RoomView).HideName(true); } btnRoomLeftShadow.Visible = true; btnRoomRightShadow.Visible = true; btnRoomBottomShadow.Visible = true; }; roomPageView.PageIndex = 0; //场景和功能的控件 this.contrSwitch = new FrameLayout(); contrSwitch.Y = frameBack.Bottom + Application.GetRealHeight(52); contrSwitch.Gravity = Gravity.CenterHorizontal; contrSwitch.Width = Application.GetRealWidth(804); contrSwitch.Height = Application.GetRealHeight(124); contrSwitch.Radius = (uint)Application.GetRealHeight(124) / 2; contrSwitch.BackgroundColor = 0xff232323; this.AddChidren(contrSwitch); //场景 this.btnScene = new NormalViewControl(contrSwitch.Width / 2 - Application.GetRealHeight(124) / 2, contrSwitch.Height, false); btnScene.X = Application.GetRealHeight(124) / 2; btnScene.IsBold = true; btnScene.TextAlignment = TextAlignment.Center; btnScene.TextColor = 0xffffffff; btnScene.TextSize = 16; btnScene.TextID = R.MyInternationalizationString.uScence; contrSwitch.AddChidren(btnScene); //功能 this.btnFunction = new NormalViewControl(btnScene.Width, contrSwitch.Height, false); btnFunction.X = btnScene.Right; btnFunction.TextAlignment = TextAlignment.Center; btnFunction.TextColor = 0xFFCBCACA; btnFunction.TextSize = 15; btnFunction.TextID = R.MyInternationalizationString.uFunction; contrSwitch.AddChidren(btnFunction); //自定义场景1 var sceneView1 = new MainPage.Controls.SceneCardControl(); sceneView1.X = Application.GetRealWidth(46); sceneView1.Y = frameBack.Bottom + Application.GetRealHeight(233); this.AddChidren(sceneView1); sceneView1.InitControl(new Common.SceneUI() { Name = "Getup", IconPath = "SceneIcon/0.png" }); //自定义场景2 var sceneView2 = new MainPage.Controls.SceneCardControl(); sceneView2.X = Application.GetRealWidth(553); sceneView2.Y = sceneView1.Y; this.AddChidren(sceneView2); sceneView2.InitControl(new Common.SceneUI() { Name = "Relax", IconPath = "SceneIcon/1.png" }); //自定义场景3 var sceneView3 = new MainPage.Controls.SceneCardControl(); sceneView3.X = sceneView1.X; sceneView3.Y = sceneView1.Bottom + Application.GetRealHeight(14); this.AddChidren(sceneView3); sceneView3.InitControl(new Common.SceneUI() { Name = "Dinner", IconPath = "SceneIcon/2.png" }); //自定义场景4 var sceneView4 = new MainPage.Controls.SceneCardControl(); sceneView4.X = sceneView2.X; sceneView4.Y = sceneView3.Y; this.AddChidren(sceneView4); sceneView4.InitControl(new Common.SceneUI() { Name = "Goodnight", IconPath = "SceneIcon/3.png" }); //底部菜单 var frameMenu = new FrameLayout(); frameMenu.Height = ControlCommonResourse.BottomFrameHeight; frameMenu.Gravity = Gravity.BottomCenter; this.AddChidren(frameMenu); //线 var btnLine = new NormalViewControl(frameMenu.Width, 1, false); btnLine.BackgroundColor = Common.ZigbeeColor.Current.GXCBottomLineColor; frameMenu.AddChidren(btnLine); //主页 var btnMenuHome = new IconViewControl(10, false); btnMenuHome.X = Application.GetRealWidth(109); btnMenuHome.Width = this.GetPictrueRealSize(138); btnMenuHome.Height = this.GetPictrueRealSize(98); btnMenuHome.UnSelectedImagePath = "Navigation/HomeSelected.png"; frameMenu.AddChidren(btnMenuHome); var btnMenuHomeName = new NormalViewControl(btnMenuHome.Width, Application.GetRealHeight(40), false); btnMenuHomeName.X = btnMenuHome.X; btnMenuHomeName.Y = btnMenuHome.Bottom; btnMenuHomeName.TextAlignment = TextAlignment.Center; btnMenuHomeName.TextColor = 0xFF232323; btnMenuHomeName.TextSize = 10; btnMenuHomeName.TextID = R.MyInternationalizationString.HomePage; frameMenu.AddChidren(btnMenuHomeName); //分类 var btnFenlei = new IconViewControl(10, false); btnFenlei.X = Application.GetRealWidth(469); btnFenlei.Width = this.GetPictrueRealSize(138); btnFenlei.Height = this.GetPictrueRealSize(98); btnFenlei.UnSelectedImagePath = "Navigation/Category.png"; frameMenu.AddChidren(btnFenlei); var btnFenleiName = new NormalViewControl(btnFenlei.Width, Application.GetRealHeight(40), false); btnFenleiName.X = btnFenlei.X; btnFenleiName.Y = btnFenlei.Bottom; btnFenleiName.TextAlignment = TextAlignment.Center; btnFenleiName.TextColor = 0xFF232323; btnFenleiName.TextSize = 10; btnFenleiName.TextID = R.MyInternationalizationString.Category; frameMenu.AddChidren(btnFenleiName); //我的 var btnMy = new IconViewControl(10, false); btnMy.X = Application.GetRealWidth(832); btnMy.Width = this.GetPictrueRealSize(138); btnMy.Height = this.GetPictrueRealSize(98); btnMy.UnSelectedImagePath = "Navigation/Setting.png"; frameMenu.AddChidren(btnMy); var btnMyName = new NormalViewControl(btnMy.Width, Application.GetRealHeight(40), false); btnMyName.X = btnMy.X; btnMyName.Y = btnMy.Bottom; btnMyName.TextAlignment = TextAlignment.Center; btnMyName.TextColor = 0xFF232323; btnMyName.TextSize = 10; btnMyName.TextID = R.MyInternationalizationString.Me; frameMenu.AddChidren(btnMyName); } #endregion #region ■ 一般方法___________________________ /// /// 添加【我知道了】的按钮 /// /// public NormalViewControl AddIKnwonButton() { var btnContr = new NormalViewControl(397, 86, true); btnContr.BorderWidth = 1; btnContr.BorderColor = UserCenterColor.Current.White; btnContr.Radius = (uint)Application.GetRealHeight(86) / 2; btnContr.BackgroundColor = 0x26FFFFFF; btnContr.Gravity = Gravity.CenterHorizontal; btnContr.Y = Application.GetRealHeight(1650); btnContr.TextAlignment = TextAlignment.Center; btnContr.TextColor = UserCenterColor.Current.White; btnContr.TextSize = 16; btnContr.TextID = R.MyInternationalizationString.uIKnwon; this.AddChidren(btnContr); return btnContr; } #endregion } }