Стили Android: разница между 'style=“@android:style/XYZ”' и 'style=“?android:attr/XYZ”'?

Я пытаюсь стилизовать кнопки так, чтобы они выглядели так, как я спрашиваю в Android Full Width ICS style Minimalist Bottom ButtonsViews.

Мне это удалось, со следующим xml для всех, кто интересуется:



                                     


            

Однако есть один вопрос. Помощник по содержимому eclipse не знает, что происходит со следующим разрешением ресурсов:

style="?android:attr/buttonBarButtonStyle"

Я знаком с типичным разрешением (которое известно помощнику по содержимому eclipse)

(скрыто)

...но я не понимаю разницы между ними. Кажется, что некоторые атрибуты стиля появляются в одном, но не в другом. Например, следующее ничего не дает:

style=@android:attr/buttonBarStyle

и это тоже:

style="@android:style/buttonBarStyle

Итак, я думаю, два вопросы здесь:

  1. Почему разница в синтаксисе ссылок на ресурсы?
  2. Почему запутанная неправильная категоризация стилей в категории attr.
  3. Для чего вообще используется категория attr?

Спасибо!

13
задан Community 23 May 2017 в 12:02
поделиться