Что такое attr в классе R в Android?

#android #android-layout

#Android #android-layout

Вопрос:

Я видел пустой класс с именем attr внутри моего автоматически созданного R.java класс; в чем его значение? Я знаю, что стили могут быть определены в style.xml с помощью тега style, поэтому я не знаю, что такое attr?

Ответ №1:

R.attr предназначен для «атрибутов темы» (не стилей).

Они определены в XML-файле значений, подобном этому:

<attr name="textAppearanceLarge" format="reference" />

Они используются в конструкторах представления для параметра defStyle, как в:

public TextView (Context context, AttributeSet attrs, int defStyle)

Я бы предположил, что приложения довольно редко добавляют свои собственные значения attr. Обычно будут использоваться те, что в android.R.attr, если они вообще будут использоваться.