When developing the options menu, it is necessary for repeated visual elements with a list of values to repeat the full list in each description. If there are several elements of the same type - this turns into a problem - when adding (changing, deleting) values / functions, each list has to be corrected. In addition, each item in the list will be transmitted via Bluetooth to Connect Mobile - with a large number of options, this takes a lot of time.
I suggest to enter the following structure in settings.xml:
<defineList id="ColorList">
<listEntry value="0x000000">@Strings.ColorBlack</listEntry>
<listEntry value="0x555555">@Strings.ColorDarkGray</listEntry>
<listEntry value="0xFF0000">@Strings.ColorRed</listEntry>
<listEntry value="0x00FF00">@Strings.ColorGreen</listEntry>
<listEntry value="0x00AAFF">@Strings.ColorBlue</listEntry>
<listEntry value="0xAA0000">@Strings.ColorDarkRed</listEntry>
<listEntry value="0x00AA00">@Strings.ColorDarkGreen</listEntry>
<listEntry value="0x0000FF">@Strings.ColorDarkBlue</listEntry>
<listEntry value="0xFF5500">@Strings.ColorOrange</listEntry>
<listEntry value="0xAA00FF">@Strings.ColorPurple</listEntry>
<listEntry value="0xFF00FF">@Strings.ColorPink</listEntry>
<listEntry value="0xFFFF00">@Strings.ColorYellow</listEntry>
<listEntry value="0xAAAAAA">@Strings.ColorLightGray</listEntry>
<listEntry value="0xFFFFFF">@Strings.ColorWhite</listEntry>
</defineList>
Defined list as needed can be used repeatedly:
<setting propertyKey="@Properties.BackgroundColor" title="@Strings.BackgroundColorTitle">
<settingConfig type="list">
<definedList id="ColorList">
</settingConfig>
</setting>
<setting propertyKey="@Properties.Label1Color" title="@Strings.Label1ColorTitle">
<settingConfig type="list">
<listEntry value="0x000001">@Strings.Hide </listEntry>
<definedList id="ColorList">
</settingConfig>
</setting>
....
In addition, this option will improve the readability of settings.xml
Watch at the enclosed text of my actual code.