в чем разница между styles.xml и themes.xml

<p>могу ли я узнать, в чем разница между <code>styles.xml</code> и <code>themes.xml</code>? для меня они просто выглядят одинаково, так как оба xml имеют одинаковый формат.</p><pre><code><style name="... <item name="... </code></pre><p>итак, в моем приложении, которое обеспечивает настройку цвета, размера, рисования, ... мне также нужны и <code>styles.xml</code>, и <code>themes.xml</code>? как мне решить, какой xml поместить в какой файл?</p>

<p>из всей страницы <a href="http://developer.android.com/guide/topics/ui/themes.html#applyingstyles">стили и темы</a> . возможно, вы ищете эту строку.</p><blockquote> <p>когда вы применяете стиль к одному представлению в макете, свойства определенные стилем применяются только к этому представлению. если стиль применительно к viewgroup дочерние элементы view не наследуют свойства стиля - только тот элемент, к которому вы непосредственно применяете стиль будет применять свои свойства. тем не менее, вы можете применить стиль так что он применяется ко всем элементам view - применяя стиль в качестве темы.</p> </blockquote><p>когда вы применяете как тему, это меняет все в области, в зависимости от того, применили ли вы это в activity или application. стиль более «местный». </p>

<p>цитируется из руководства по api android:</p><blockquote> <p>чтобы создать набор стилей, сохраните файл xml в каталоге <code>res/values/</code> вашего проекта. имя файла xml является произвольным, но оно должно использовать расширение <code>.xml</code> и быть сохраненным в папке <code>res/values/</code> . корневой узел файла xml должен быть <code><resources></code>.</p> </blockquote><p> <a href="http://developer.android.com/guide/topics/ui/themes.html">полная документация</a> </p><p>поэтому я думаю, что на самом деле не имеет значения, вставляете ли вы какие-либо стили в какие-либо файлы, если это xml-файл, который находится в папке <code>res/values/</code>.</p>

<p>не существует функциональной разницы между styles.xml и themes.xml, как указано во многих ответах.</p><p>стоит отметить, что приложение google iosched2014 имеет только файл styles.xml (без themes.xml).</p><p> <a href="https://github.com/google/iosched">https://github.com/google/iosched</a> </p>

<p>взято из документа <a href="http://developer.android.com/guide/topics/ui/themes.html">стили и темы</a> в разделе определение стилей:</p><blockquote> <p>чтобы создать набор стилей, сохраните файл xml в каталоге res/values / вашего проекта. имя файла xml является произвольным, но оно должно использовать расширение .xml и быть сохранено в папке res/values /.</p> <pre><code>the root node of the xml file must be <resources>. </code></pre> </blockquote>

<p>я просто понимаю, что, например, цвета текста панели инструментов входят в объявление темы, а для других аспектов - в объявление стиля</p><pre><code><style name="toolbartheme" parent="themeoverlay.appcompat.light"> <item name="android:textcolorprimary">@android:color/white</item> <item name="android:textcolorsecondary">@android:color/white</item> </style> <style name="toolbarstyle" parent="base.widget.appcompat.toolbar"> <item name="android:minheight">?attr/actionbarsize</item> <item name="android:background">@color/colorprimary</item> </style> </code></pre><p>и в декларации панели инструментов</p><pre><code><android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout\_width="match\_parent" android:layout\_height="wrap\_content" style="@style/toolbarstyle" android:theme="@style/toolbartheme"> </android.support.v7.widget.toolbar> </code></pre><p>я пытался опустить тему, переместив ее элементы в стиль, но это не сработало. так что в этом случае кажется, что это просто стили, которые являются темой, поскольку они влияют на унаследованные дочерние элементы на панели инструментов, такие как текстовые поля. </p>