1
1
package com.equationl.calculator_compose.dataModel
2
2
3
+ import androidx.compose.material.MaterialTheme
4
+ import androidx.compose.runtime.Composable
3
5
import androidx.compose.ui.graphics.Color
4
6
5
7
// 数字按键
@@ -36,8 +38,6 @@ const val KeyIndex_Rsh = 111
36
38
const val KeyIndex_And = 112
37
39
const val KeyIndex_Or = 113
38
40
const val KeyIndex_Not = 114
39
- const val KeyIndex_NAnd = 115
40
- const val KeyIndex_NOr = 116
41
41
const val KeyIndex_XOr = 117
42
42
43
43
// 功能按键
@@ -46,111 +46,115 @@ const val KeyIndex_CE = 1001
46
46
const val KeyIndex_Clear = 1002
47
47
const val KeyIndex_Back = 1003
48
48
49
- // 预留按键
50
- const val KeyIndex_Null = - 1
51
49
50
+ @Composable
51
+ fun numberColor (): Color = MaterialTheme .colors.secondary
52
52
53
- val NumberColor = Color .White
54
- val FunctionColor = Color .LightGray
55
- val EqualColor = Color .Cyan
56
- val UnavailableColor = Color .Transparent
53
+ @Composable
54
+ fun functionColor (): Color = MaterialTheme .colors.primary
57
55
58
- val StandardKeyBoardBtn = listOf (
59
- listOf (
60
- KeyBoardData (" %" , FunctionColor , KeyIndex_Percentage ),
61
- KeyBoardData (" CE" , FunctionColor , KeyIndex_CE ),
62
- KeyBoardData (" C" , FunctionColor , KeyIndex_Clear ),
63
- KeyBoardData (" ←" , FunctionColor , KeyIndex_Back ),
64
- ),
65
- listOf (
66
- KeyBoardData (" 1/x" , FunctionColor , KeyIndex_Reciprocal ),
67
- KeyBoardData (" x²" , FunctionColor , KeyIndex_Pow2 ),
68
- KeyBoardData (" √x" , FunctionColor , KeyIndex_Sqrt ),
69
- KeyBoardData (Operator .Divide .showText, FunctionColor , KeyIndex_Divide ),
70
- ),
71
- listOf (
72
- KeyBoardData (" 7" , NumberColor , KeyIndex_7 ),
73
- KeyBoardData (" 8" , NumberColor , KeyIndex_8 ),
74
- KeyBoardData (" 9" , NumberColor , KeyIndex_9 ),
75
- KeyBoardData (Operator .MULTIPLY .showText, FunctionColor , KeyIndex_Multiply ),
76
- ),
77
- listOf (
78
- KeyBoardData (" 4" , NumberColor , KeyIndex_4 ),
79
- KeyBoardData (" 5" , NumberColor , KeyIndex_5 ),
80
- KeyBoardData (" 6" , NumberColor , KeyIndex_6 ),
81
- KeyBoardData (Operator .MINUS .showText, FunctionColor , KeyIndex_Minus ),
82
- ),
83
- listOf (
84
- KeyBoardData (" 1" , NumberColor , KeyIndex_1 ),
85
- KeyBoardData (" 2" , NumberColor , KeyIndex_2 ),
86
- KeyBoardData (" 3" , NumberColor , KeyIndex_3 ),
87
- KeyBoardData (Operator .ADD .showText, FunctionColor , KeyIndex_Add ),
88
- ),
89
- listOf (
90
- KeyBoardData (" +/-" , NumberColor , KeyIndex_NegativeNumber ),
91
- KeyBoardData (" 0" , NumberColor , KeyIndex_0 ),
92
- KeyBoardData (" ." , NumberColor , KeyIndex_Point ),
93
- KeyBoardData (" =" , EqualColor , KeyIndex_Equal ),
56
+ @Composable
57
+ fun equalColor (): Color = MaterialTheme .colors.primaryVariant
58
+
59
+ @Composable
60
+ fun standardKeyBoardBtn (): List <List <KeyBoardData >> = listOf (
61
+ listOf (
62
+ KeyBoardData (" %" , functionColor(), KeyIndex_Percentage ),
63
+ KeyBoardData (" CE" , functionColor(), KeyIndex_CE ),
64
+ KeyBoardData (" C" , functionColor(), KeyIndex_Clear ),
65
+ KeyBoardData (" ←" , functionColor(), KeyIndex_Back ),
66
+ ),
67
+ listOf (
68
+ KeyBoardData (" 1/x" , functionColor(), KeyIndex_Reciprocal ),
69
+ KeyBoardData (" x²" , functionColor(), KeyIndex_Pow2 ),
70
+ KeyBoardData (" √x" , functionColor(), KeyIndex_Sqrt ),
71
+ KeyBoardData (Operator .Divide .showText, functionColor(), KeyIndex_Divide ),
72
+ ),
73
+ listOf (
74
+ KeyBoardData (" 7" , numberColor(), KeyIndex_7 ),
75
+ KeyBoardData (" 8" , numberColor(), KeyIndex_8 ),
76
+ KeyBoardData (" 9" , numberColor(), KeyIndex_9 ),
77
+ KeyBoardData (Operator .MULTIPLY .showText, functionColor(), KeyIndex_Multiply ),
78
+ ),
79
+ listOf (
80
+ KeyBoardData (" 4" , numberColor(), KeyIndex_4 ),
81
+ KeyBoardData (" 5" , numberColor(), KeyIndex_5 ),
82
+ KeyBoardData (" 6" , numberColor(), KeyIndex_6 ),
83
+ KeyBoardData (Operator .MINUS .showText, functionColor(), KeyIndex_Minus ),
84
+ ),
85
+ listOf (
86
+ KeyBoardData (" 1" , numberColor(), KeyIndex_1 ),
87
+ KeyBoardData (" 2" , numberColor(), KeyIndex_2 ),
88
+ KeyBoardData (" 3" , numberColor(), KeyIndex_3 ),
89
+ KeyBoardData (Operator .ADD .showText, functionColor(), KeyIndex_Add ),
90
+ ),
91
+ listOf (
92
+ KeyBoardData (" +/-" , functionColor(), KeyIndex_NegativeNumber ),
93
+ KeyBoardData (" 0" , numberColor(), KeyIndex_0 ),
94
+ KeyBoardData (" ." , functionColor(), KeyIndex_Point ),
95
+ KeyBoardData (" =" , equalColor(), KeyIndex_Equal ),
96
+ )
94
97
)
95
- )
96
98
97
- val ProgrammerLeftKeyBoardBtn = listOf (
99
+ @Composable
100
+ fun programmerLeftKeyBoardBtn (): List <List <KeyBoardData >> = listOf (
98
101
listOf (
99
- KeyBoardData (" D" , NumberColor , KeyIndex_D ),
100
- KeyBoardData (" E" , NumberColor , KeyIndex_E ),
101
- KeyBoardData (" F" , NumberColor , KeyIndex_F )
102
+ KeyBoardData (" D" , numberColor() , KeyIndex_D ),
103
+ KeyBoardData (" E" , numberColor() , KeyIndex_E ),
104
+ KeyBoardData (" F" , numberColor() , KeyIndex_F )
102
105
),
103
106
listOf (
104
- KeyBoardData (" A" , NumberColor , KeyIndex_A ),
105
- KeyBoardData (" B" , NumberColor , KeyIndex_B ),
106
- KeyBoardData (" C" , NumberColor , KeyIndex_C )
107
- ),
107
+ KeyBoardData (" A" , numberColor() , KeyIndex_A ),
108
+ KeyBoardData (" B" , numberColor() , KeyIndex_B ),
109
+ KeyBoardData (" C" , numberColor() , KeyIndex_C )
110
+ ),
108
111
listOf (
109
- KeyBoardData (" 7" , NumberColor , KeyIndex_7 ),
110
- KeyBoardData (" 8" , NumberColor , KeyIndex_8 ),
111
- KeyBoardData (" 9" , NumberColor , KeyIndex_9 )
112
+ KeyBoardData (" 7" , numberColor() , KeyIndex_7 ),
113
+ KeyBoardData (" 8" , numberColor() , KeyIndex_8 ),
114
+ KeyBoardData (" 9" , numberColor() , KeyIndex_9 )
112
115
),
113
116
listOf (
114
- KeyBoardData (" 4" , NumberColor , KeyIndex_4 ),
115
- KeyBoardData (" 5" , NumberColor , KeyIndex_5 ),
116
- KeyBoardData (" 6" , NumberColor , KeyIndex_6 )
117
+ KeyBoardData (" 4" , numberColor() , KeyIndex_4 ),
118
+ KeyBoardData (" 5" , numberColor() , KeyIndex_5 ),
119
+ KeyBoardData (" 6" , numberColor() , KeyIndex_6 )
117
120
),
118
121
listOf (
119
- KeyBoardData (" 1" , NumberColor , KeyIndex_1 ),
120
- KeyBoardData (" 2" , NumberColor , KeyIndex_2 ),
121
- KeyBoardData (" 3" , NumberColor , KeyIndex_3 )
122
+ KeyBoardData (" 1" , numberColor() , KeyIndex_1 ),
123
+ KeyBoardData (" 2" , numberColor() , KeyIndex_2 ),
124
+ KeyBoardData (" 3" , numberColor() , KeyIndex_3 )
122
125
),
123
126
listOf (
124
- KeyBoardData (" <<" , FunctionColor , KeyIndex_Lsh ),
125
- KeyBoardData (" 0" , NumberColor , KeyIndex_0 ),
126
- KeyBoardData (" >>" , FunctionColor , KeyIndex_Rsh )
127
+ KeyBoardData (" <<" , functionColor() , KeyIndex_Lsh ),
128
+ KeyBoardData (" 0" , numberColor() , KeyIndex_0 ),
129
+ KeyBoardData (" >>" , functionColor() , KeyIndex_Rsh )
127
130
)
128
131
)
129
132
130
- val ProgrammerRightKeyBoardBtn = listOf (
133
+ @Composable
134
+ fun programmerRightKeyBoardBtn (): List <List <KeyBoardData >> = listOf (
131
135
listOf (
132
- KeyBoardData (" C" , FunctionColor , KeyIndex_Clear ),
133
- KeyBoardData (" ←" , FunctionColor , KeyIndex_Back )
136
+ KeyBoardData (" C" , functionColor() , KeyIndex_Clear ),
137
+ KeyBoardData (" ←" , functionColor() , KeyIndex_Back )
134
138
),
135
139
listOf (
136
- KeyBoardData (" CE" , FunctionColor , KeyIndex_CE ),
137
- KeyBoardData (Operator .Divide .showText, FunctionColor , KeyIndex_Divide )
140
+ KeyBoardData (" CE" , functionColor() , KeyIndex_CE ),
141
+ KeyBoardData (Operator .Divide .showText, functionColor() , KeyIndex_Divide )
138
142
),
139
143
listOf (
140
- KeyBoardData (" NOT" , FunctionColor , KeyIndex_Not ),
141
- KeyBoardData (Operator .MULTIPLY .showText, FunctionColor , KeyIndex_Multiply )
144
+ KeyBoardData (" NOT" , functionColor() , KeyIndex_Not ),
145
+ KeyBoardData (Operator .MULTIPLY .showText, functionColor() , KeyIndex_Multiply )
142
146
),
143
147
listOf (
144
- KeyBoardData (" XOR" , FunctionColor , KeyIndex_XOr ),
145
- KeyBoardData (Operator .MINUS .showText, FunctionColor , KeyIndex_Minus )
148
+ KeyBoardData (" XOR" , functionColor() , KeyIndex_XOr ),
149
+ KeyBoardData (Operator .MINUS .showText, functionColor() , KeyIndex_Minus )
146
150
),
147
151
listOf (
148
- KeyBoardData (" AND" , FunctionColor , KeyIndex_And ),
149
- KeyBoardData (Operator .ADD .showText, FunctionColor , KeyIndex_Add )
152
+ KeyBoardData (" AND" , functionColor() , KeyIndex_And ),
153
+ KeyBoardData (Operator .ADD .showText, functionColor() , KeyIndex_Add )
150
154
),
151
155
listOf (
152
- KeyBoardData (" OR" , FunctionColor , KeyIndex_Or ),
153
- KeyBoardData (" =" , FunctionColor , KeyIndex_Equal )
156
+ KeyBoardData (" OR" , functionColor() , KeyIndex_Or ),
157
+ KeyBoardData (" =" , equalColor() , KeyIndex_Equal )
154
158
)
155
159
)
156
160
0 commit comments