9

Я работаю на примере о поддержке библиотеки и панели инструментов, это код макета на Android документацииЧто означает? Attr/mean на Android?

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="4dp" 
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 

Это первый раз, когда я вижу эти ?attr, и я понятия не имеют о том, что они означают или где хранятся эти значения. Являются ли эти обычаи или они предопределены в платформе Android?

Ссылка: Android Toolbar Documentation

ответ

9

?attr/ ссылки на атрибуты. Атрибуты - это значения, указанные в вашей теме приложения. Этими атрибутами в вашем примере являются все значения, указанные в темах, предоставляемых библиотекой поддержки. Android также имеет свои собственные атрибуты, и они могут использоваться ?android:attr/.

В некоторых случаях считается правильной практикой использовать значения атрибутов вместо значений непосредственно, поскольку это позволяет легко настраивать. Например, при создании пользовательских представлений вы можете использовать ?attr/colorAccent, чтобы пользователь представления не должен был предоставлять цвет, и вместо этого он будет использовать colorAccent, который используется в приложениях.

Смежные вопросы