Better styling for settings pages + dropdown menus
This commit is contained in:
+54
-18
@@ -1,28 +1,29 @@
|
||||
local lvgl = require("lvgl")
|
||||
local font = require("font")
|
||||
|
||||
local background_color = "#FFFFFF"
|
||||
local background_muted = "#FFFFFF"
|
||||
local background_color = "#ffffff"
|
||||
local background_muted = "#fafafa"
|
||||
local text_color = "#000000"
|
||||
local highlight_color = "#E3F2FD"
|
||||
local highlight_color = "#CE93D8"
|
||||
|
||||
local theme_light = {
|
||||
base = {
|
||||
{lvgl.PART.MAIN, lvgl.Style {
|
||||
bg_opa = lvgl.OPA(0),
|
||||
bg_color = background_color, -- Root background color
|
||||
text_font = font.fusion_12,
|
||||
text_color = text_color,
|
||||
}},
|
||||
{lvgl.STATE.FOCUSED, lvgl.Style {
|
||||
bg_opa = lvgl.OPA(100),
|
||||
bg_color = highlight_color,
|
||||
}},
|
||||
},
|
||||
root = {
|
||||
{lvgl.PART.MAIN, lvgl.Style {
|
||||
bg_opa = lvgl.OPA(100),
|
||||
bg_color = background_color, -- Root background color
|
||||
text_color = text_color
|
||||
}},
|
||||
},
|
||||
header = {
|
||||
{lvgl.PART.MAIN, lvgl.Style {
|
||||
bg_opa = lvgl.OPA(100),
|
||||
bg_color = background_muted,
|
||||
}},
|
||||
},
|
||||
button = {
|
||||
@@ -34,6 +35,16 @@ local theme_light = {
|
||||
bg_color = background_color,
|
||||
radius = 5,
|
||||
}},
|
||||
{lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style {
|
||||
bg_opa = lvgl.OPA(100),
|
||||
bg_color = highlight_color,
|
||||
}},
|
||||
},
|
||||
listbutton = {
|
||||
{lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style {
|
||||
bg_opa = lvgl.OPA(100),
|
||||
bg_color = highlight_color,
|
||||
}},
|
||||
},
|
||||
bar = {
|
||||
{lvgl.PART.MAIN, lvgl.Style {
|
||||
@@ -44,6 +55,7 @@ local theme_light = {
|
||||
slider = {
|
||||
{lvgl.PART.MAIN, lvgl.Style {
|
||||
bg_opa = lvgl.OPA(100),
|
||||
bg_color = background_muted,
|
||||
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
||||
}},
|
||||
{lvgl.PART.INDICATOR, lvgl.Style {
|
||||
@@ -57,7 +69,13 @@ local theme_light = {
|
||||
shadow_width = 5,
|
||||
shadow_opa = lvgl.OPA(100)
|
||||
}},
|
||||
{lvgl.STATE.FOCUSED, lvgl.Style {
|
||||
{lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style {
|
||||
bg_color = background_muted,
|
||||
}},
|
||||
{lvgl.PART.KNOB | lvgl.STATE.FOCUSED, lvgl.Style {
|
||||
bg_color = highlight_color,
|
||||
}},
|
||||
{lvgl.PART.INDICATOR | lvgl.STATE.CHECKED, lvgl.Style {
|
||||
bg_color = highlight_color,
|
||||
}},
|
||||
},
|
||||
@@ -65,21 +83,24 @@ local theme_light = {
|
||||
{lvgl.PART.MAIN, lvgl.Style {
|
||||
bg_opa = lvgl.OPA(100),
|
||||
width = 28,
|
||||
height = 18,
|
||||
height = 8,
|
||||
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
||||
}},
|
||||
{lvgl.PART.INDICATOR, lvgl.Style {
|
||||
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
||||
bg_color = background_muted,
|
||||
}},
|
||||
{lvgl.PART.INDICATOR | lvgl.STATE.CHECKED, lvgl.Style {
|
||||
{lvgl.PART.MAIN | lvgl.STATE.CHECKED, lvgl.Style {
|
||||
bg_color = highlight_color,
|
||||
}},
|
||||
{lvgl.PART.KNOB, lvgl.Style {
|
||||
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
||||
pad_all = 2,
|
||||
bg_opa = lvgl.OPA(100),
|
||||
bg_color = background_color,
|
||||
bg_color = background_muted,
|
||||
}},
|
||||
{lvgl.PART.KNOB | lvgl.STATE.FOCUSED, lvgl.Style {
|
||||
bg_color = highlight_color,
|
||||
}},
|
||||
},
|
||||
dropdown = {
|
||||
@@ -87,20 +108,35 @@ local theme_light = {
|
||||
radius = 2,
|
||||
pad_all = 2,
|
||||
border_width = 1,
|
||||
border_color = "#2196F3",
|
||||
border_color = background_muted,
|
||||
border_side = 15, -- LV_BORDER_SIDE_FULL
|
||||
}}
|
||||
bg_color = background_color,
|
||||
}},
|
||||
{lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style {
|
||||
border_color = highlight_color,
|
||||
}},
|
||||
},
|
||||
dropdownlist = {
|
||||
{lvgl.PART.MAIN, lvgl.Style{
|
||||
radius = 2,
|
||||
pad_all = 2,
|
||||
border_width = 1,
|
||||
border_color = "#607D8B",
|
||||
border_color = highlight_color,
|
||||
bg_opa = lvgl.OPA(100),
|
||||
bg_color = background_color
|
||||
}}
|
||||
}
|
||||
}},
|
||||
{lvgl.PART.SELECTED | lvgl.STATE.CHECKED, lvgl.Style {
|
||||
bg_color = highlight_color,
|
||||
}},
|
||||
},
|
||||
settings_title = {
|
||||
{lvgl.PART.MAIN, lvgl.Style {
|
||||
pad_top = 2,
|
||||
pad_bottom = 4,
|
||||
text_font = font.fusion_10,
|
||||
text_color = highlight_color,
|
||||
}},
|
||||
},
|
||||
}
|
||||
|
||||
return theme_light
|
||||
|
||||
Reference in New Issue
Block a user