Theme, Tabs und Raster
Theme
Ein Theme ist ein Objekt. Die visuellen Editoren zeigen keine vereinfachten Hell-/Dunkel-Presets, weil diese die tatsächlichen Möglichkeiten nicht abbilden. Aus Kompatibilitätsgründen liest die App alte Stringwerte, für neue Konfigurationen gilt dieses vollständige Format:
{
"theme": {
"background_color": "#121212",
"primary_color": "#2d2d2d",
"accent_color": "#80c100",
"text_color": "#ffffff",
"accent_text_color": "#000000",
"corner_radius": 12,
"ui_scale": 1.0,
"padding": 8,
"gap": 6
}
}
Farben akzeptieren #RRGGBB und #AARRGGBB. corner_radius ist auf 64 dp, padding auf 48 dp und gap auf 32 dp begrenzt. ui_scale beziehungsweise Alias font_scale liegt zwischen 0,85 und 1,8. Jedes Widget und Badge darf mit theme oder theme_override einzelne Werte überschreiben; ein Grid vererbt den lokalen Scope an seine Kinder.
Tabs
{
"id": "home",
"title": "Zuhause",
"icon": "home",
"columns": 3,
"show_text": true,
"tab_icon_size": 18,
"tab_text_size": 16,
"badges_align": "left",
"widgets": []
}
id und widgets sind erforderlich. Weitere Optionen sind type (default oder music_assistant), show_badges, badges, columns, icon, show_text/show_title, tab_icon_size, tab_text_size und badges_align. Global steuern tab_height, tab_padding_horizontal, tab_alignment (equal, left, right), settings_tab_width, show_tab_text und tab_order die Leiste.
Raster
Tabs und Widgets verwenden columns. Kinder können row, col, rowspan/row_span, colspan/col_span, cell_width/column_width, cell_height/row_height, cell_aspect_ratio, min_height, gap und margin setzen. Ohne feste Maße verteilt das native Layout die verfügbare Breite. Die Gerätevorschau bildet genau dieses feste Layout ab und skaliert nur die gesamte Gerätefläche.