陈嘉乐
2021-03-23 8123d0298c0fed448bddc956059126a4875782c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
using System;
using System.Collections.Generic;
using HDL_ON.UI.UI2.Intelligence.Automation.LogicView;
using Shared;
namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice.View
{
    public class Buttons
    {
        /// <summary>
        /// 动态加载按钮列表
        /// </summary>
        /// <param name="buttonFLayout">父控件</param>
        /// <param name="buttonList">数据列表</param>
        /// <param name="action">回调</param>
        /// <param name="line">表示多少行</param>
        /// <param name="sum">表示一行加载多少个按钮</param>
        public void AddButton(FrameLayout buttonFLayout, List<string> buttonList, Action<string> action, int line = 7, int sum = 3)
        {
            VerticalScrolViewLayout vv = new VerticalScrolViewLayout();
            buttonFLayout.AddChidren(vv);
            for (int i = 0; i < line; i++)
            {
                var currFLayout = new FrameLayout { Height = Application.GetRealHeight(16 + 44) };
                vv.AddChidren(currFLayout);
                for (int a = i * sum + 1, b = 0; a <= buttonList.Count; a++, b++)
                {
                    var name = buttonList[a - 1];
                    var nameBtn = new Button
                    {
                        Y = Application.GetRealHeight(16),
                        X = Application.GetRealWidth(24 + (98 + 16) * b),
                        // Gravity=Gravity.CenterVertical,
                        Width = Application.GetRealWidth(98),
                        Height = Application.GetRealHeight(44),
                        Text = name,
                        TextSize = TextSize.text16,
                        TextColor = CSS.CSS_Color.textColor,
                        TextAlignment = TextAlignment.Center,
                        Radius = (uint)Application.GetRealHeight(8),
                        BorderWidth = 1,
                        BorderColor = CSS.CSS_Color.textCancelColor,
                    };
                    currFLayout.AddChidren(nameBtn);
                    nameBtn.MouseUpEventHandler += (sender, e) =>
                    {
                        action(nameBtn.Text);
                    };
                    if (a % sum == 0)
                    {
                        break;
                    }
                }
                if (i == line - 1)
                {
                    //最后一个元素后面加一个20高度间隔
                    vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(20) });
                }
            }
 
        }
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="tag">标记值</param>
        /// <returns></returns>
        public List<string> GetList(string tag)
        {
            List<string> list = new List<string>();
            switch (tag)
            {
                case "默认按钮":
                    {
                        list.Add(Language.StringByID(StringId.dianyuan));
                        list.Add(Language.StringByID(StringId.yinliangjia));
                        list.Add(Language.StringByID(StringId.yinliangjian));
                        list.Add(Language.StringByID(StringId.pindaojia));
                        list.Add(Language.StringByID(StringId.pindaojian));
                        list.Add(Language.StringByID(StringId.shang));
                        list.Add(Language.StringByID(StringId.xia));
                        list.Add(Language.StringByID(StringId.zuo));
                        list.Add(Language.StringByID(StringId.you));
                        list.Add(Language.StringByID(StringId.jingyin));
                        list.Add(Language.StringByID(StringId.queren));
                        list.Add(Language.StringByID(StringId.bofang));
                        list.Add(Language.StringByID(StringId.xiayibu));
                        list.Add(Language.StringByID(StringId.tuichu));
                        list.Add(Language.StringByID(StringId.caidan));
                        list.Add(Language.StringByID(StringId.zanting));
                        list.Add(Language.StringByID(StringId.fanhui));
                        list.Add(Language.StringByID(StringId.tingzhi));
                        list.Add(Language.StringByID(StringId.zhuye));
                        list.Add(Language.StringByID(StringId.kuaijin));
                        list.Add(Language.StringByID(StringId.kuaitui));
                        list.Add(Language.StringByID(StringId.dingshi));
 
                    }
                    break;
            }
            return list;
        }
    }
}