1.Если вы определяете цвет в res/values/colors.xml
, то вы можете использовать любое собственное имя, то же самое при создании переменной в вашем классе Java / Kotlin.
- primaryColor
- colorPrimary
- primary_color
- color_primary
Пример из Android Разработчик
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="opaque_red">#f00</color>
<color name="translucent_red">#80ff0000</color>
</resources>
2. Если вы создаете пользовательские стили / темы, которые расширяются от Android стилей / тем, то вы должны использовать имя, определенное Android.
// colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primaryColor">#008577</color>
<color name="primary_dark_color">#00574B</color>
<color name="color_accent">#D81B60</color>
</resources>
// styles.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primary_dark_color</item>
<item name="colorAccent">@color/color_accent</item>
</style>
Как видите, в стилях. xml, 3 имени атрибута, colorPrimary
, colorPrimaryDark
, colorAccent
определены в родительском тема, поэтому вы должны использовать то же имя, потому что вы хотите переопределить его.
В цветах. xml вы можете использовать любое имя, которое, по вашему мнению, имеет смысл в вашем приложении.
Вернуться к вашим вопросам:
Итак, каково правильное соглашение?
В этом случае нет стандартного соглашения, но от Android Разработчик, вы просто даете название цвету, добавлять не нужно цвет / цвет в качестве префикса или суффикса. Потому что мы обычно помещаем цвета всех приложений в res/values/colors.xml
, а каждый элемент находится внутри цветовой метки.
Повлияет ли это на цвета компонентов компонентов виджетов?
Это не.