Есть ли способ определить несколько файлов стилей, чтобы избежать одного огромного в Android?


Я хотел бы знать, есть ли способ определить или использовать несколько файлов стилей(Multiple, style.xml files) в Android, а не один файл style.xml, который присутствует в папке res Application Project. В настоящее время я использую один файл стиля (style.xml). Но размер файла style.xml огромен из-за моих многочисленных индивидуальных и самостоятельных стилей.

Я прошел через множество учебных пособий и примеров, но все эти учебные пособия и примеры, предоставляющие сайты, и даже сайт developer.android.com показывает, как определить и использовать Style но, ни один из любого сайта не говорит, Можно ли сделать Multiple style.xml files из одного style.xml файла так, чтобы размер файла можно было уменьшить. Любая помощь будет признательна...
2 6

2 ответа:

Вы можете иметь столько ресурсов, определяющих стили, сколько захотите, по крайней мере в разумных пределах. Вероятно, есть какой-то предел количества файлов, но он, по крайней мере, в сотнях, а возможно, и в миллиардах.

В каталогах res/values/ и res/values-*/ имена файлов не имеют значения . Мы используем соглашения, чтобы поместить ресурсы в файлы, названные в честь ресурса, например styles.xml. Это просто организационная система. Вы можете иметь столько файлов с ресурсами <style>, сколько хотите, с именем все, что вы хотите (при условии, что они являются допустимыми именами файлов ресурсов).

Например, в вашем Android SDK, если вы перейдете в platforms/android-.../data/res/values/ (для некоторого значения ..., основанного на установленных SDK), вы увидите несколько файлов, содержащих ресурсы стилей:

  • styles.xml
  • styles_*.xml, например styles_holo.xml
  • themes.xml
  • themes_*.xml, например themes_material.xml

Вы можете иметь эти стили в любом файле, который вы хотите, это не будет иметь значения, пока ваши имена файлов действительны. Так. Например, вы можете создать файл стиля только для кнопок. Не беспокойтесь о порядке, стили на всех файлах будут проанализированы и применены.