Поиск всех доступных стилей, определяемых темами платформы Android

В некоторых руководствах по стилурованию в стиле андроида используются элементы родительского стиля, которые я не могу найти в стилях android.R.style. * ( Http://developer.android.com/reference/android/R.style.html ).

Несколько примеров из статьи статьи http://android-developers.blogspot.com/2011/04/customizing-action-bar.html . Ник использует родительские стили:

<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar"> ... </style> 

или

 <style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBarView_TabView"> ... </style> 

Откуда берутся эти родительские стили? Можно ли перечислить все доступные родительские стили?

Благодарю.

Solutions Collecting From Web of "Поиск всех доступных стилей, определяемых темами платформы Android"

Как указано в статье «Применение стилей и тем» :

Платформа Android предоставляет большую коллекцию стилей и тем, которые вы можете использовать в своих приложениях. Вы можете найти ссылку на все доступные стили в классе R.style . Чтобы использовать стили, перечисленные здесь, замените все подчеркивания в имени стиля на период. Например, вы можете применить тему Theme_NoTitleBar с помощью "@android:style/Theme.NoTitleBar" .

Однако ссылка R.style не хорошо документирована и не описывает описания стилей, поэтому просмотр исходного кода для этих стилей и тем даст вам лучшее представление о свойствах каждого из них. Для лучшей ссылки на стили и темы Android см. Следующий исходный код:

  • Стили Android (styles.xml)
  • Темы для Android (themes.xml)

Эти файлы помогут вам изучить на примере. Например, в исходном коде Android-темы вы найдете объявление для <style name="Theme.Dialog"> . В этом определении вы увидите все свойства, которые используются для стилей диалоговых окон, которые используются платформой Android.

Для «android: style / Widget.Holo.Light.ActionBarView_TabView» см .: http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_ActionBar_TabView … и обратите внимание на уровень API, который был введен на!

Для "android: style / Widget.Holo.Light.Spinner.DropDown.ActionBar" попробуйте: http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_DropDownItem_Spinner

Последнее – это просто мое лучшее предположение – я не могу получить список, который действительно выпадет.

Атрибут Parent является необязательным при создании собственных themes или styles . В основном parent атрибуты используются для наследования стилей, которые уже определены в самой платформе.

Если мы хотим наследовать theme или style и перезаписать некоторые функции, мы можем использовать parent атрибут.

Вот ссылка для всех доступных для платформы styles .

И еще один совет:

Если вы хотите наследовать свой собственный style который вы создали самим, значит следовать этому примеру, чтобы наследовать.

  <style name="MyDropDownNav.Red"> <item name="android:textColor">#FF0000</item> </style> 

Official Google's Documentation по Default List для Default List Themes и Styles Документация Google Android

Вы можете найти здесь, в этой документации

  • Стили Android (styles.xml)
  • Темы для Android (themes.xml)

Я знаю, что ответ на вышеупомянутый вопрос заканчивается здесь, все еще уступая место реализации, так как он будет полезен для новичков.

Как реализовать их

Это то, что я получил от themes.xml

 <style name="Theme.NoTitleBar"> <item name="android:windowNoTitle">true</item> </style> 

Теперь to implement его в моем проекте

Я должен добавить следующую строку в мой файл Styles.xml

 <style name="AppTheme" parent="android:Theme.NoTitleBar" /> 

В этом я создаю свою own theme именем « AppTheme », которая inherit свои свойства из already defined them by google . Поэтому я упоминаю его в parent

Изучая themes.xml и styles.xml не только help to get the list of the already defined тем и стилей, но также help novices to have an idea how to create темы.

Поскольку тема, которую я упоминаю здесь, в parent , уже определена андроидом, поэтому мы будем использовать ее, указав android: на название темы ..

Если вы хотите inherit your created theme тогда

 <style name="Theme2" parent="AppTheme"> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style> 

Apptheme style name to the parent , здесь я использую Apptheme качестве родительской темы для theme2