Стиль Android – разница между @style, android :, @android: стиль и т. Д.

В примерах разработчика, блогах и т. Д. Я видел несколько префиксов для значений атрибутов стиля. Может кто-нибудь описать, когда использовать что? Например, в чем разница между этими тремя случаями?

parent="@android:style/TextAppearance" parent="TextAppearance.AppCompat" parent="@style/TextAppearance.AppCompat" 

В чем разница между этими двумя случаями?

 <item name="colorControlNormal">@color/white</item> <item name="android:colorControlNormal">@color/white</item> 

Без ссылок на префикс стиль, названный в том же файле.

@Style ссылается на файл проекта style.xml .

@android: ссылки на стиль определяют стиль Android API .

Подробнее о стилях Ресурс, стиль и темы .

О colorControlNormal vs android: colorControlNormal – это то же самое объяснение. Если вы используете controlColorNormal, вы определяете цвет, применяемый к элементам управления каркасом в их нормальном состоянии в вашем приложении. Если вы используете android: colorControlNormal, вы переписываете значение по умолчанию, применяемое системой к управлению каркасом.

Вы можете думать о @ как о сигнале, что именованный ресурс подходит.

@type/name определяет ресурс типа type (строка, цвет, макет, стиль и т. Д.) С name указанным в приложении.

@+id/name идентифицирует ресурс идентификатора, name которого будет создано, если оно еще не существует (тогда как @id просто ссылается на уже существующий идентификатор).

@android:type/name означает, что именованный ресурс является частью платформы Android (он не определен в приложении – он предоставляется устройством).

Для родителей стиля @ стиль не является обязательным. Вы можете ссылаться на стили напрямую по имени. Это избыточно, потому что вы все равно не можете вывести стиль из любого другого, кроме другого стиля.

Intereting Posts