| | |
| | | using System.Collections.Generic; |
| | | using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; |
| | | |
| | | |
| | | namespace HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView |
| | | { |
| | | /// <summary> |
| | |
| | | private int leftMargin; |
| | | private int bottomMargin; |
| | | private int rightMargin; |
| | | private int mWidth; |
| | | private int mHeight; |
| | | /// <summary> |
| | | /// 一行几个元素 |
| | | /// </summary> |
| | |
| | | /// 列表最大值 |
| | | /// </summary> |
| | | private int mListCount; |
| | | |
| | | public Action<KeypadEntity> selectAction = null; |
| | | /// <summary> |
| | | /// 当前选择的索引(内部使用) |
| | | /// 按键回调 |
| | | /// </summary> |
| | | private int CurrnetSelectIndex = -1; |
| | | public Action<KeypadEntity> selectKeyAction = null; |
| | | /// <summary> |
| | | /// 影片回调 |
| | | /// </summary> |
| | | public Action<MovieLibrary> selectImageAction = null; |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | this.Width = Application.GetRealWidth(width); |
| | | this.Height = Application.GetRealHeight(height); |
| | | this.Radius = (uint)Application.GetRealHeight(radius); |
| | | this.mWidth = this.Width; |
| | | this.mHeight = this.Height; |
| | | |
| | | |
| | | } |
| | |
| | | /// </summary> |
| | | public List<KeypadEntity> GetTestList() |
| | | { |
| | | return AksCommonMethod.Current.GetTYYKeypadList(); |
| | | return AksCommonMethod.Current.GetTYYKeypadList(null); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | /// <param name="mList">列表</param> |
| | | /// <param name="mRowNumber">一行多少个元素</param> |
| | | public void LoadButtonPage(List<KeypadEntity> mList, int mRowNumber) |
| | | /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],值超出范围视为无效</param> |
| | | public void LoadButtonPage(List<KeypadEntity> mList, int mRowNumber, int defaultIndex = -1) |
| | | { |
| | | if (mList == null || mList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | if (mRowNumber == 0) |
| | | { |
| | | return; |
| | |
| | | line++; |
| | | xCount = 0; |
| | | } |
| | | //不支持按键点击背景颜色 |
| | | if (!keypad.isClicked) |
| | | { |
| | | buttonFram.GetImageButton().Alpha = 0.5f; |
| | | buttonFram.GetNameButton().TextColor =unBackgroundColor; |
| | | buttonFram.SetClick(false); |
| | | |
| | | } |
| | | buttonFram.SetClickListener((fl, btnIcon, btnName) => |
| | | { |
| | | if (buttonFram.Tag != null) |
| | | if (buttonFram.Tag == null) |
| | | { |
| | | selectAction?.Invoke((KeypadEntity)buttonFram.Tag); |
| | | return; |
| | | } |
| | | selectKeyAction?.Invoke((KeypadEntity)buttonFram.Tag); |
| | | }); |
| | | |
| | | //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) |
| | | //if (defaultIndex != -1 && defaultIndex == i) |
| | | //{ |
| | | // selectAction?.Invoke((int)buttonFram.Tag); |
| | | // if (buttonFram.Tag != null && buttonFram.Tag is KeypadEntity) |
| | | // { |
| | | // selectAction?.Invoke((KeypadEntity)buttonFram.Tag); |
| | | // } |
| | | //} |
| | | |
| | | |
| | |
| | | /// 动态加载按键界面 |
| | | /// </summary> |
| | | /// <param name="mList">列表</param> |
| | | /// <param name="list">列表中索引,表示某一条宽度加宽</param> |
| | | public void LoadButtonPage(List<KeypadEntity> mList, List<int> list) |
| | | /// <param name="list"> 列表中索引,表示某一条宽度加宽,没有默认(new List<int>)</param> |
| | | /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],值超出范围视为无效</param> |
| | | public void LoadButtonPage(List<KeypadEntity> mList, List<int> list,int defaultIndex=-1) |
| | | { |
| | | |
| | | if (mList == null || mList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | int currnetheightValue = 0; |
| | | int currnetWidthValue = 0; |
| | | //获取相对一个纬度值 |
| | |
| | | currnetheightValue += ButtonFramLayout.heightFrameLayout; |
| | | currnetWidthValue = 0; |
| | | } |
| | | |
| | | //不支持按键点击背景颜色 |
| | | if (!keypad.isClicked) |
| | | { |
| | | buttonFram.GetImageButton().Alpha = 0.5f; |
| | | buttonFram.GetNameButton().TextColor = unBackgroundColor; |
| | | buttonFram.SetClick(false); |
| | | } |
| | | buttonFram.SetClickListener((fl, btnIcon, btnName) => |
| | | { |
| | | if (buttonFram.Tag != null) |
| | | if (buttonFram.Tag == null) |
| | | { |
| | | selectAction?.Invoke((KeypadEntity)buttonFram.Tag); |
| | | return; |
| | | } |
| | | selectKeyAction?.Invoke((KeypadEntity)buttonFram.Tag); |
| | | |
| | | }); |
| | | |
| | | //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) |
| | | //if (defaultIndex != -1 && defaultIndex == i) |
| | | //{ |
| | | // selectAction?.Invoke((int)buttonFram.Tag); |
| | | // if (buttonFram.Tag != null && buttonFram.Tag is KeypadEntity) |
| | | // { |
| | | // selectAction?.Invoke((KeypadEntity)buttonFram.Tag); |
| | | // } |
| | | //} |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | ///动态加载数字按键界面 |
| | | /// </summary> |
| | | /// <param name="mList">列表</param> |
| | | /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],值超出范围视为无效</param> |
| | | public void LoadNumberButtonPage(List<KeypadEntity> mList) |
| | | { |
| | | |
| | | if (mList == null || mList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | int currnetheightValue = 0; |
| | | int currnetWidthValue = 0; |
| | | int heightMaxValue = 84; |
| | | int heightMaxValue = 84 - 6; |
| | | int widthMaxValue = 78; |
| | | //获取相对一个纬度值 |
| | | int heightDimensionValue = this.Height - Application.GetRealHeight(this.topMargin) - Application.GetRealHeight(this.bottomMargin) - Application.GetRealHeight(heightMaxValue / 2); |
| | | int widthDimensionValue = this.Width - Application.GetRealWidth(this.leftMargin) - Application.GetRealWidth(this.rightMargin) - Application.GetRealHeight(widthMaxValue / 2); |
| | | for (int i = 1; i <= mList.Count; i++) |
| | | for (int i = 0; i < mList.Count; i++) |
| | | { |
| | | var keypad = mList[i - 1]; |
| | | var keypad = mList[i]; |
| | | Button button = new Button |
| | | { |
| | | Y = Application.GetRealHeight(this.topMargin) + Application.GetRealHeight(currnetheightValue), |
| | |
| | | IsBold = true, |
| | | Tag = keypad, |
| | | BackgroundColor = MusicColor.WhiteColor, |
| | | SelectedBackgroundColor = 0xff454635, |
| | | SelectedBackgroundColor = 0xFFF2F3F7, |
| | | Radius = (uint)Application.GetRealHeight(8), |
| | | SelectedTextColor = MusicColor.TextColor, |
| | | }; |
| | | this.AddChidren(button); |
| | | |
| | |
| | | currnetheightValue += heightMaxValue; |
| | | currnetWidthValue = 0; |
| | | } |
| | | button.MouseDownEventHandler += (sen, e) => |
| | | //不支持按键点击背景颜色 |
| | | if (!keypad.isClicked) |
| | | { |
| | | if (button.Tag == null || ((KeypadEntity)button.Tag).keypad == "none") |
| | | button.TextColor =unBackgroundColor; |
| | | |
| | | } |
| | | |
| | | |
| | | button.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | if (button.Tag == null || ((KeypadEntity)button.Tag).keypad == "none"|| !((KeypadEntity)button.Tag).isClicked) |
| | | { |
| | | return; |
| | | } |
| | | button.IsSelected = true; |
| | | selectAction?.Invoke((KeypadEntity)button.Tag); |
| | | }; |
| | | button.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | button.IsSelected = false; |
| | | selectKeyAction?.Invoke((KeypadEntity)button.Tag); |
| | | SetButtonIsSelected(button); |
| | | }; |
| | | |
| | | //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) |
| | | //if (defaultIndex != -1 && defaultIndex == i) |
| | | //{ |
| | | // selectAction?.Invoke((int)buttonFram.Tag); |
| | | //} |
| | |
| | | |
| | | /// <summary> |
| | | /// 动态加载图片界面 |
| | | /// 影片布局 |
| | | /// </summary> |
| | | public void LoadImagePage(List<KeypadEntity> mList) |
| | | /// <param name="mList">列表</param> |
| | | /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],值超出范围视为无效</param> |
| | | public void LoadImagePage(List<MovieLibrary> mList) |
| | | { |
| | | if (mList == null || mList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | int currnetheightValue = 0; |
| | | int currnetWidthValue = 0; |
| | | int heightMaxValue = ImageFramlayout.heightFrameLayout; |
| | |
| | | //获取相对一个纬度值 |
| | | int heightDimensionValue = this.Height - Application.GetRealHeight(this.topMargin) - Application.GetRealHeight(this.bottomMargin) - Application.GetRealHeight(heightMaxValue / 2); |
| | | int widthDimensionValue = this.Width - Application.GetRealWidth(this.leftMargin) - Application.GetRealWidth(this.rightMargin) - Application.GetRealHeight(widthMaxValue / 2); |
| | | for (int i = 1; i <= mList.Count; i++) |
| | | for (int i = 0; i < mList.Count; i++) |
| | | { |
| | | var keypad = mList[i - 1]; |
| | | var movieLibrary = mList[i]; |
| | | ImageFramlayout imageFram = new ImageFramlayout(); |
| | | imageFram.AddView(this); |
| | | imageFram.Tag = keypad; |
| | | imageFram.Tag = movieLibrary; |
| | | imageFram.Y = Application.GetRealHeight(this.topMargin) + Application.GetRealHeight(currnetheightValue); |
| | | imageFram.X = Application.GetRealWidth(currnetWidthValue); |
| | | imageFram.btnName.Text = keypad.name; |
| | | imageFram.btnName.Text = movieLibrary.name; |
| | | imageFram.btnImage.ImageBytes = movieLibrary.imageBytes; |
| | | imageFram.btnScore.Text = movieLibrary.rating; |
| | | currnetWidthValue += (widthMaxValue + 8);//8是隔间值 |
| | | if (widthDimensionValue < Application.GetRealWidth(currnetWidthValue)) |
| | | { |
| | |
| | | |
| | | imageFram.SetClickListener((fl) => |
| | | { |
| | | if (imageFram.Tag != null) |
| | | if (imageFram.Tag != null&& imageFram.Tag is MovieLibrary) |
| | | { |
| | | selectAction?.Invoke((KeypadEntity)imageFram.Tag); |
| | | selectImageAction?.Invoke((MovieLibrary)imageFram.Tag); |
| | | } |
| | | }); |
| | | //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) |
| | | //{ |
| | | // selectAction?.Invoke((int)imageFram.Tag); |
| | | // selectImageAction?.Invoke((int)imageFram.Tag); |
| | | //} |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 动态加载图片界面 |
| | | /// 影片布局 |
| | | /// </summary> |
| | | /// <param name="mRowNumber">一行多少个元素</param> |
| | | public void LoadImagePage(List<KeypadEntity> mList, int mRowNumber) |
| | | /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],值超出范围视为无效</param> |
| | | public void LoadImagePage(List<MovieLibrary> mList, int mRowNumber) |
| | | { |
| | | |
| | | if (mList == null || mList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | if (mRowNumber == 0) |
| | | { |
| | | return; |
| | |
| | | } |
| | | imageFram.SetClickListener((fl) => |
| | | { |
| | | if (imageFram.Tag != null) |
| | | if (imageFram.Tag != null && imageFram.Tag is MovieLibrary) |
| | | { |
| | | selectAction?.Invoke((KeypadEntity)imageFram.Tag); |
| | | selectImageAction?.Invoke((MovieLibrary)imageFram.Tag); |
| | | } |
| | | }); |
| | | |
| | | //if (CurrnetSelectIndex != -1 && CurrnetSelectIndex == i) |
| | | //{ |
| | | // selectAction?.Invoke((int)imageFram.Tag); |
| | | // selectImageAction?.Invoke((MovieLibrary)imageFram.Tag); |
| | | //} |
| | | |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 设置初始选择(请在初始化完成之前调用) |
| | | |
| | | private int currnetheightValue1 = 0; |
| | | private int currnetWidthValue1 = 0; |
| | | private int heightMaxValue1 = ImageFramlayout.heightFrameLayout; |
| | | private int widthMaxValue1 = ImageFramlayout.widthFrameLayout; |
| | | //获取相对一个纬度值 |
| | | private int widthDimensionValue1 = Application.GetRealWidth(343) - Application.GetRealHeight(ImageFramlayout.widthFrameLayout / 2); |
| | | /// <summary> |
| | | /// 加载影片列表布局 |
| | | /// (特殊布局) |
| | | /// </summary> |
| | | /// <param name="index">从列表0开始计算第一个元素,设置超过列表最大(new List().count-1)值视为无效</param> |
| | | public void SetIndex(int index = -1) |
| | | /// <param name="mList">列表</param> |
| | | public void LoadImagePage(List<ImageFramlayout> imageFramlayoutList) |
| | | { |
| | | if (index == -1) { return; } |
| | | this.CurrnetSelectIndex = index; |
| | | |
| | | if (imageFramlayoutList==null||imageFramlayoutList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | //int currnetheightValue = 0; |
| | | //int currnetWidthValue = 0; |
| | | //int heightMaxValue = ImageFramlayout.heightFrameLayout; |
| | | //int widthMaxValue = ImageFramlayout.widthFrameLayout; |
| | | ////获取相对一个纬度值 |
| | | //int heightDimensionValue = this.Height - Application.GetRealHeight(this.topMargin) - Application.GetRealHeight(this.bottomMargin) - Application.GetRealHeight(heightMaxValue / 2); |
| | | //int widthDimensionValue = this.Width - Application.GetRealWidth(this.leftMargin) - Application.GetRealWidth(this.rightMargin) - Application.GetRealHeight(widthMaxValue / 2); |
| | | for (int i = 0; i < imageFramlayoutList.Count; i++) |
| | | { |
| | | var imageFram = imageFramlayoutList[i]; |
| | | if (imageFram == null) |
| | | { |
| | | continue; |
| | | } |
| | | imageFram.AddView(this); |
| | | imageFram.Y =Application.GetRealHeight(this.topMargin) + Application.GetRealHeight(currnetheightValue1); |
| | | imageFram.X = Application.GetRealWidth(currnetWidthValue1); |
| | | currnetWidthValue1 += (widthMaxValue1 + 8);//8是隔间值 |
| | | if (widthDimensionValue1 < Application.GetRealWidth(currnetWidthValue1)) |
| | | { |
| | | currnetheightValue1 += (heightMaxValue1 + 20);//20是隔间值 |
| | | currnetWidthValue1 = 0; |
| | | } |
| | | |
| | | imageFram.SetClickListener((fl) => |
| | | { |
| | | if (imageFram.Tag != null && imageFram.Tag is MovieLibrary) |
| | | { |
| | | selectImageAction?.Invoke((MovieLibrary)imageFram.Tag); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 水平滑动布局 |
| | | /// </summary> |
| | | /// <param name="mList">列表</param> |
| | | /// <param name="defaultIndex">默认值索引范围[0,mList.count-1],值超出范围视为无效</param> |
| | | public void LoadHorizontalPage(List<FilterCategoryEntity> mList, int defaultIndex = -1) |
| | | { |
| | | if (mList == null || mList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | for (int i = 0; i < mList.Count; i++) |
| | | { |
| | | var filterCategory = mList[i]; |
| | | BaseFramLayout horizontalFL = new BaseFramLayout |
| | | { |
| | | Y = Application.GetRealHeight(i * 75), |
| | | Height = Application.GetRealHeight(75), |
| | | Width = this.Width, |
| | | }; |
| | | this.AddChidren(horizontalFL); |
| | | Button btnTitleType = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(16), |
| | | Height = Application.GetRealHeight(22), |
| | | Width = Application.GetRealWidth(200), |
| | | Text = filterCategory.name, |
| | | TextSize = TextSize.Text16, |
| | | TextColor = MusicColor.TextColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | IsBold = true, |
| | | Tag = filterCategory, |
| | | }; |
| | | horizontalFL.AddChidren(btnTitleType); |
| | | |
| | | HorizontalFramLayout horizontal = new HorizontalFramLayout(375 - 16, 28); |
| | | horizontalFL.AddChidren(horizontal); |
| | | horizontal.Y = btnTitleType.Bottom + Application.GetRealHeight(8); |
| | | horizontal.X = Application.GetRealWidth(16); |
| | | horizontal.SelectTypeEvent += (filters) => |
| | | { |
| | | KeypadEntity keypad = new KeypadEntity(); |
| | | keypad.category = filters.category; |
| | | keypad.filterValue = filters.filterValue; |
| | | keypad.filterName = filters.filterName; |
| | | selectKeyAction?.Invoke(keypad); |
| | | }; |
| | | horizontal.InitControl(filterCategory.filters, defaultIndex); |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 最后一行 |
| | | /// </summary> |